windows窗体问题。。。

A59229617 2006-04-04 10:13:34
我建立一个主窗口。也就一般得验证窗口。
验证结束后,如果验证通过,就打开一个新窗口。
在打开新窗口得时候,来问题了。
我得旧窗口怎么处理,如果关闭,整个程序就中止了,如果隐藏,就是在关闭打开得新窗口的时候,就有2个窗口要关闭,这样很麻烦呀。。
不知道大家有什么好的办法和建议???
...全文
175 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Knight94 2006-04-06
  • 打赏
  • 举报
回复
参看
http://blog.csdn.net/knight94/archive/2006/04/06/652394.aspx
gsky 2006-04-05
  • 打赏
  • 举报
回复
to 第二,如果是验证错误,那第一个窗口就直接关闭了,程序也退出了。我再想验证就要重新启动程序。。

不通过就 return
Knight94 2006-04-05
  • 打赏
  • 举报
回复
to 第二,如果是验证错误,那第一个窗口就直接关闭了,程序也退出了。我再想验证就要重新启动程序。。

修改一下login窗口的确定按钮事件,当验证错误的时候不进行返回即可。
A59229617 2006-04-05
  • 打赏
  • 举报
回复
没明白你的意思。。
确定按钮 返回什么??
wheeler 2006-04-05
  • 打赏
  • 举报
回复
class mainForm : Form
{
static void Main()
{
Application.Run(this);
loginForm lf=new loginForm();
do
{
lf.ShowDialog();

//对验证信息进行判断
{
this.show();
break;
}
}while();//允许尝试次数

lf.Dispose();
}
}

class loginForm: Form
{
//如果退出
this.Close;
//如果确定
//返回验证信息
this.Close;
}
A59229617 2006-04-05
  • 打赏
  • 举报
回复
我看了大家的建议,窗口的问题基本解决了,。。。
但是有一个新问题。。
第一,程序只有一个MAIN函数,不能在新开的窗口上再写MAIN。。
第二,如果是验证错误,那第一个窗口就直接关闭了,程序也退出了。我再想验证就要重新启动程序。。
修改代码如下。static void Main()
{
loginForm lf=new loginForm();
//Application.Run(lf);
if(lf.ShowDialog() == DialogResult.OK)
{
mainForm m=new mainForm();
Application.Run(m);
}

}
验证BUTTON
while(myReader.Read())
{
string myUserName= myReader.GetString(0).Trim();
string myPassworld=myReader.GetString(1).Trim();
if(myUserName.Equals(useName)&&myPassworld.Equals(password))
{
myTag=1;
//mainForm m=new mainForm();
//m.Show();
this.DialogResult = DialogResult.OK;
//this.Close();

break;
}

}
sweig0721 2006-04-05
  • 打赏
  • 举报
回复
frm.ShowDialog() ==DialogResult.OK
xiaomatian 2006-04-05
  • 打赏
  • 举报
回复
做一个登陆界面,如果成功就把它的 DialogResult设置成OK,然后MAIN函数中检测一下咯
dhxyol 2006-04-05
  • 打赏
  • 举报
回复
在主类的入口点里接收一下验证窗体传出来的值,然后根据值决定是否让新窗体秀出来,可我记得秀出来的时候前面的验证窗体是自动关闭了的...
Knight94 2006-04-05
  • 打赏
  • 举报
回复
参看
http://community.csdn.net/Expert/TopicView3.asp?id=4658505
中我的回答
jinbao 2006-04-04
  • 打赏
  • 举报
回复
Application.Run(frm2);
wxl_pilot 2006-04-04
  • 打赏
  • 举报
回复
在你的新窗口的Main方法中调用你的验证窗口:
public static Main()
{
if (new LoginWindow().ShowDialog() == DialogResults.OK)//登陆和检查代码放这里
{
Application.Run(new MainForm())l
}
}
Kshatriya 2006-04-04
  • 打赏
  • 举报
回复
Main方法里
Form1 frm = new Form1();
if (frm.ShowDialog() == DialogResult.OK)
{
Form2 frm2 = new Form2();
Application.Run(frm2);
}
在Form1里面作验证,如果通过,则设置this.DialogResult = DialogResult.OK;

110,534

社区成员

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

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

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