两个窗体,第二个窗体中事件竟然没有发生

benbenkui 2008-02-29 03:55:51
两个窗体,第一个登陆的(loginFrm),第二个是主窗体(mainFrm)。
public partial class MainFrm : Form
{ public bool blCanLogin=false; //记录是否通过验证
public string strUser=""; //记录用户名}
现在要将blCanLogin,strUser传到mainFrm,应该怎样做?应为要将loginFrm作为开始运行的,所以我在mainFrm中添加了static void Main()
{
loginFrm=new loginFrm();login.ShowDialog();Application.Run(new mainFrm());
}
但是这样登陆进去进入mainFrm后,mainFrm却什么事件都不触发,用断点看了一下,连maimFrm_Load
都没反应。该怎么办呢?
...全文
335 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzuomin 2008-03-04
  • 打赏
  • 举报
回复
楼上已经有正确答案了。
LRG315 2008-03-03
  • 打赏
  • 举报
回复
可以通过共享内存来读这两个变量,


namespace prjLet
{
public partial class frmMain : Form
{
/// <summary>
/// static void Main()放在frmMain,然后,先调用frmLogin。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
frmLogin frm = new frmLogin();
frm.ShowDialog();

///Common是公共类,Currentuser是Common的属性,当前用户
if (Common.Currentuser != null)
{

Application.Run(new frmMain());
}
}



yimeng123 2008-03-03
  • 打赏
  • 举报
回复
重金诚聘C++
http://topic.csdn.net/u/20080227/14/8bce0844-bd15-42f0-9cda-a343d5d6601b.html?seed=2111206245
leer168 2008-03-01
  • 打赏
  • 举报
回复
不用感谢,我是来接分的
benbenkui 2008-02-29
  • 打赏
  • 举报
回复
非常感谢大家
wangzi041 2008-02-29
  • 打赏
  • 举报
回复
如果存在传值问题的话
请利用属性来传递~~~
bote_china 2008-02-29
  • 打赏
  • 举报
回复
static void Main() 
{
loginFrm=new loginFrm();
if(login.ShowDialog()==DialogResult.Ok)
{
mainfrm mfrm = new mainfrm();
//mfrm.blCanLogin...;
//mfrm.strUser=...;
Application.Run(mfrm);
}
}
北京的雾霾天 2008-02-29
  • 打赏
  • 举报
回复
可以的话把你的程序发一份过来看看:
hbxtlhx@hotmail.com
benbenkui 2008-02-29
  • 打赏
  • 举报
回复
恩,是没传过去
benbenkui 2008-02-29
  • 打赏
  • 举报
回复
哎,我也是这样认为的。我再去看下书。
priwilliam 2008-02-29
  • 打赏
  • 举报
回复
blCanLogin,strUser值没传过去么

mainfrm m=new mainfrm();
m.blCanLogin
m.strUser


cnfixit 2008-02-29
  • 打赏
  • 举报
回复
在你验证的那个方法里面,正确的话
mainfrm main=new mainfrm();
this.hide();
main.show();
不完了么?
benbenkui 2008-02-29
  • 打赏
  • 举报
回复
说不清楚了,给个实例看也行。真是让各位见笑了
benbenkui 2008-02-29
  • 打赏
  • 举报
回复
loginFrm--验证成功--进入mainFrm--调用loginFrm中的strUser,blCanLogin--mainFrm_load--btn_Click
benbenkui 2008-02-29
  • 打赏
  • 举报
回复
我现在的问题是,进入mainFrm后,mainFrm_Load,Btn_Click等都没反应
北京的雾霾天 2008-02-29
  • 打赏
  • 举报
回复
你把你的程序结构说清楚一下。

benbenkui 2008-02-29
  • 打赏
  • 举报
回复
我晕,我在mainFrm_Load添加了
loginFrm loginFrm=new loginFrm();
login.ShowDialog();
This.Hide();
mainFrm mainFrm=new mainFrm();
mainFrm.Show();
程序关不了,怎点关都是登陆窗口。
汗,我是不是写错位置了
benbenkui 2008-02-29
  • 打赏
  • 举报
回复
楼上的两位,我去试下,谢谢
ljm66 2008-02-29
  • 打赏
  • 举报
回复
可以把程序的开始程序设置为mainFrm,在mainFrm的load()中加
loginFrm loginFrm=new loginFrm();login.ShowDialog();This.Hide()
然后在loginFrm 验证完后写mainFrm mainFrm=new mainFrm();mainFrm.Show();就可以了
cnfixit 2008-02-29
  • 打赏
  • 举报
回复
代码
加载更多回复(11)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧