关于两个窗体之间的问题,很麻烦,帮个忙

问题描述

在主操作界面,用户想看自己刚才添加到数据库中于数据库中重复的数据,我把重复的信息在添加的过程中已经放到了了一个静态的list集合中了,用户想看这些信息的话,必须重新登录一次,当登录成功的时候,会提示“登录成功”,有“确定”和“取消”两个按钮,当用户点击确定按钮后,登录界面关闭,主界面就立刻用gridview显示重复的数据,问题是,登录界面关闭了,显示数据的这个方法运行了,但,主界面没反应。主操作的后台代码:if(lit!=null&&lit.Count>0){SJ.Common.U.safeOffdenderPhonelist=lit;if(MessageBox.Show("警报,请重新登录查看信息","警告",MessageBoxButton.OKCancel,MessageBoxImage.Warning)==MessageBoxResult.OK){SJ.Common.U.id=1;Loginl=newLogin();if(l.ShowDialog()==false){#regionThjl.Visibility=System.Windows.Visibility.Collapsed;Siminfo.Visibility=System.Windows.Visibility.Collapsed;Phoneinfo.Visibility=System.Windows.Visibility.Collapsed;In.Visibility=System.Windows.Visibility.Collapsed;XYinfo.Visibility=System.Windows.Visibility.Collapsed;Xinfo.Visibility=System.Windows.Visibility.Collapsed;Zinfo.Visibility=System.Windows.Visibility.Collapsed;Pinfo.Visibility=System.Windows.Visibility.Collapsed;UserInfo.Visibility=System.Windows.Visibility.Visible;TreeviewShow.Visibility=System.Windows.Visibility.Collapsed;OutInfo.Visibility=System.Windows.Visibility.Collapsed;#endregionTbl_Useru=bu.GetAllInfo(U.UserName);this.gjh.Text=u.Chuserid;this.gname.Text=u.Ncusername;if(u.Isex==1){boy.IsChecked=true;girl.IsChecked=false;}else{boy.IsChecked=false;girl.IsChecked=true;}this.gbirth.Text=u.Dtbirthday.ToString();this.gjion.Text=u.Dtjoinin.ToString();}else{MessageBox.Show("恩恩");}}登录界面的代码:if(SJ.Common.U.id==1){if(ub.UserPwdByUserName(UserName.Text.Trim().ToLower())==null){MessageBox.Show("没有此用户名");return;}else{stringpwd=ub.UserPwdByUserName(UserName.Text.Trim().ToLower()).Chpassword;if(string.IsNullOrEmpty(pwd)){MessageBox.Show("无此用户");return;}if(pwd.ToLower()==this.Pwd.Password.Trim().ToLower()){U.UserName=UserName.Text.Trim().ToLower();DataTablebt=bu.SearchCeeIsNull(UserName.Text.Trim());if(MessageBox.Show("登录成功!")==MessageBoxResult.OK){if(bt.Rows.Count>0){List<string>temp=newList<string>();foreach(DataRowrowinbt.Rows){stringname=row[3].ToString();temp.Add(name);SJ.Common.U.list=temp;}}}this.Close();}else{MessageBox.Show("失败");}}}

解决方案

解决方案二:
登陆点击进去后,应该在主界面的load加载绑定你刚刚list的数据的
解决方案三:
引用1楼u011130289的回复:

登陆点击进去后,应该在主界面的load加载绑定你刚刚list的数据的

主操作界面是不关闭的,找你说的这样,那我总不能关闭主操作界面然后再跳出登录界面啊?我要的是不关闭主操作界面,登录界面会显示在前面,主操作界面是无法操作的。
解决方案四:
引用2楼u013603449的回复:

Quote: 引用1楼u011130289的回复:
登陆点击进去后,应该在主界面的load加载绑定你刚刚list的数据的

主操作界面是不关闭的,找你说的这样,那我总不能关闭主操作界面然后再跳出登录界面啊?我要的是不关闭主操作界面,登录界面会显示在前面,主操作界面是无法操作的。

你可以hide主界面的嘛
解决方案五:
引用3楼u011130289的回复:

Quote: 引用2楼u013603449的回复:
Quote: 引用1楼u011130289的回复:
登陆点击进去后,应该在主界面的load加载绑定你刚刚list的数据的

主操作界面是不关闭的,找你说的这样,那我总不能关闭主操作界面然后再跳出登录界面啊?我要的是不关闭主操作界面,登录界面会显示在前面,主操作界面是无法操作的。

你可以hide主界面的嘛

不是我想要的这种,要是那样我还不如关闭主操作界面,通过判断一个值得方式,登录成功后,显示数据呢。。我要的是,登录窗体显示出来的时候,主操作界面无法进行操作,登录成功之后,登录窗体关闭,主操作界面随之显示数据
解决方案六:
引用4楼u013603449的回复:

Quote: 引用3楼u011130289的回复:
Quote: 引用2楼u013603449的回复:
Quote: 引用1楼u011130289的回复:
登陆点击进去后,应该在主界面的load加载绑定你刚刚list的数据的

主操作界面是不关闭的,找你说的这样,那我总不能关闭主操作界面然后再跳出登录界面啊?我要的是不关闭主操作界面,登录界面会显示在前面,主操作界面是无法操作的。

你可以hide主界面的嘛

不是我想要的这种,要是那样我还不如关闭主操作界面,通过判断一个值得方式,登录成功后,显示数据呢。。我要的是,登录窗体显示出来的时候,主操作界面无法进行操作,登录成功之后,登录窗体关闭,主操作界面随之显示数据

你这样设计两个窗体的参数,你除非另外建个类把这个方法放在新类,点击就刷新这个方法,或者直接在主窗体更新,第2个你都否定了,只能第一个了
解决方案七:
http://bbs.csdn.net/topics/360140208
解决方案八:

解决方案九:
能否给主界面加个PUBLIC的静态方法供登陆界面关闭的时候回调一下?如以上方法不行,那给登陆界面重写一下构造函数,接收一个OBJECT字段,this传入,然后在关闭的时候回调一下主页面的方法呢?
解决方案十:
很简单,登陆界面的显示在主程序的progam中Application.Run(newWinForm());函数前去判断,如果有数据符合要求,进入主函数界面

时间: 2024-09-15 11:01:07

关于两个窗体之间的问题,很麻烦,帮个忙的相关文章

Javascript showModalDialog两个窗体之间传值_javascript技巧

Javascript 两个窗体之间传值实现代码javascript中还有一个函数window.showModalDialog也可以打开一个新窗体,不过他打开的是一个模态窗口,那么如何在父窗体和子窗体之间传值呢?我们先看该函数的定义:vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]) 参数说明: sURL--必选参数,类型:字符串.用来指定对话框要显示的文档的URL. vArguments--可选参数,类型

两个窗体之间的两个ListBox之间进行Items的传递

问题描述 现在有2个窗体,一个主窗体FrMain其中有一个ListBox1,一个子窗体GetInfo其中也有一个ListBox2,单击FrMain中的一个按钮进入GetInfo,在GetInfo中对ListBox2进行赋值,赋值完成后单击确定按钮关闭GetInfo窗体,在主窗体中单击刷新按钮进行对ListBox1内部数据的刷新(也就是显示刚刚在ListBox2中所输入的数据)哪位大哥大姐帮帮小弟呀!偶已经尝试很久了! 解决方案 解决方案二:利用属性解决方案三://打开子窗体GetInfoF2=n

两个窗体之间变量调用问题

问题描述 大家好,我有如下的问题需要解决:Form1中有一个全局变量double[]A=newdouble[5];我现在需要在Form1中通过点击某一个Button按钮,弹出Form2,用户在form2中的5个文本框中输入信息,输入完全后返回Form2,并且将这五个文本框的内容分别赋值到变量A中,怎么实现两个窗体间的变量的调用?Form2实例化后,如何关闭form2?我是在Form2中写:this.close();但重新再调出Form2时会出现"无法访问已释放在对象".谢谢大家!!!!

关于两个窗体之间图片显示的问题?

问题描述 刚学习C#,向高手请教:有两个窗体,主窗体Form1和子窗体Form2.主窗体有Button1,Button2,Button3和pictureBox1这几个控件.在子窗体有pictureBox1控件.我现在实现了,在主窗体点击Button1按钮控件弹出Form2,点击Button2,主窗体的pictureBox1控件显示A图片,点击Button3,主窗体的pictureBox1控件显示B图片.求助:我想点击Button2,主窗体的pictureBox1控件显示A图片,同时Form2子窗

Javascript 两个窗体之间传值实现代码_javascript技巧

如我们新建窗体FatherPage.htm: XML-Code: 复制代码 代码如下: <script type="text/javascript"> function OpenChildWindow() { window.open('ChildPage.htm'); } </script> <input type="text" id="txtInput" /> <input type="but

.net窗体之间传值几种方法详解

1.父窗体传值给子窗体 在父窗体中写: FormChild fc = new FormChil();//新建一个子窗体 fc.ShowDialog(this);//以上两句即实现了子窗体和父窗体的联系 textBox2.Text = fc.Str1;//已实现联系,可以传值 2.子窗体传值给父窗体 有两种方法:  (1) 在子窗体中写:      FormParent fp = (FormParent)this.Owner;//实现联系      textBox1.Text = fp.Str1;

多个窗体之间的跳转

问题描述 想问一个各位大神,多个窗体之间是怎样跳转的呢?使用this.close貌似只能在两个窗体之间跳转,三个呢?:this.hide是可以跳转,但是原有那个窗体一直没有关掉,还有就是在program.cs中的Application.Run(newLogin());Application.Run(newForm1());Application.Run(newzhuce());这个三个窗体如果这样写的话,同时会打开三个窗体了. 解决方案 解决方案二:一次需要显示三个还是只显示一个?显示其余两个是

c#窗体-c#两个窗口之间传值,虽然简单,但我仍不会,请各位大神帮忙

问题描述 c#两个窗口之间传值,虽然简单,但我仍不会,请各位大神帮忙 在一个窗口的button按钮中点击,另一个窗口的checkbox被选中,该咋写 解决方案 http://bbs.csdn.net/topics/360140208 解决方案二: 另一个窗体添加一个属性 public bool IsSelected { get { return checkBox1.Checked; } set { checkBox1.Checked = value; } } 主窗体 (Application.O

c#中窗体之间的传值

问题描述 窗体1打开加载学员信息,我用了contextMenuStrip加入快捷菜单'修改'我想实现的效果是选中其中一个学员信息,点击修改,跳出另一个窗体,但是要加载此学员的学号(就是把窗体1的学号传递过来)privatevoid修改ToolStripMenuItem_Click(objectsender,EventArgse){if(this.listView1.SelectedItems.Count>0){Form2frm=newForm2();//将选中的学员学号传递过来frm.Show(