问题描述
在主操作界面,用户想看自己刚才添加到数据库中于数据库中重复的数据,我把重复的信息在添加的过程中已经放到了了一个静态的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());函数前去判断,如果有数据符合要求,进入主函数界面