winform如何让登陆窗口和主窗口同时显示

天天天晴啊 2010-04-21 01:33:42
我现在的是登陆窗口登陆成功之后才显示主窗口。。
   private void Form1_Load(object sender, EventArgs e)
{
loginForm lf = new loginForm();
bool logined = false;
do
{
if (lf.ShowDialog(this) == DialogResult.OK)
{
string u = "u";
string p = "p";
if (lf.UserName == u && lf.UserPwd == p)
{
logined = true;
lf.Close();
}
else
{
MessageBox.Show("非法登陆", "管理员登陆", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

}
else
{
this.Close();
}
}
while (!logined && (lf.DialogResult == DialogResult.OK));

}

在loginform里面这样写
        protected internal void button1_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
}

private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
public string UserName
{
get { return this.textBox1.Text; }
}
public string UserPwd
{
get { return this.textBox2.Text; }
}

...全文
265 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
天天天晴啊 2010-04-21
  • 打赏
  • 举报
回复
楼上的不好意思,已经结过帖子了!
zhehan54 2010-04-21
  • 打赏
  • 举报
回复
static void Main()
{
Form1 f1=new Form1();
f1.Show();
Form2 f2=new Form2();
f2.ShowDialog();
//Application.Run(new Form1());

}
天天天晴啊 2010-04-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yangyang8848 的回复:]

C# code
private void Form1_Load(object sender, EventArgs e)
{
this.Show();
using (Form2 frm = new Form2())
{
frm.ShowDialog(this);……
[/Quote]
哇,楼上的真厉害,就是这样啊,同时焦点等问题也解决了啊。
using用的好,出了这一段,就直接销毁掉。。。。结贴给分
zhupengyue 2010-04-21
  • 打赏
  • 举报
回复
C#里确实有模态窗口,你查下MSDN
lexfu 2010-04-21
  • 打赏
  • 举报
回复
LZ你是在主窗口Load的时候show 登陆窗口的,所以在登陆窗口关闭并返回DialogResult.OK之间主窗口的Load函数不会返回,自然就不会显示主窗口了
可以试着在Load函数里家一个Timer然后设timer的时间为100毫秒,到时间了之后显示登陆窗口,试试。
yuquan1987 2010-04-21
  • 打赏
  • 举报
回复
那你直接先show()你的主窗体,在show();后卖弄加上showdialog();这个是你的登录窗口,这样就可以了的
yangyang8848 2010-04-21
  • 打赏
  • 举报
回复
记得结贴给分哦!
yangyang8848 2010-04-21
  • 打赏
  • 举报
回复
        private void Form1_Load(object sender, EventArgs e)
{
this.Show();
using (Form2 frm = new Form2())
{
frm.ShowDialog(this);
}
}


主要是,在你登录窗口出现之前,调用一下,this.Show();
天天天晴啊 2010-04-21
  • 打赏
  • 举报
回复
我搜索了一下,我上面的就是模态窗口啊。。。可是还是只显示登陆窗口,直到认证成功,才出现主窗口
天天天晴啊 2010-04-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhupengyue 的回复:]

需要同时显示也可以用模态窗口吧?C++里是可以用,设置登录窗口为模态窗口,如果验证通过后就unload它,否则它就一直显示就可以了吧
[/Quote]

模态窗口,我不清楚啊,对C++不熟悉,C#里面没有吧!
zhupengyue 2010-04-21
  • 打赏
  • 举报
回复
需要同时显示也可以用模态窗口吧?C++里是可以用,设置登录窗口为模态窗口,如果验证通过后就unload它,否则它就一直显示就可以了吧
天天天晴啊 2010-04-21
  • 打赏
  • 举报
回复
我要的是在登陆窗口显示的同时显示主窗口,焦点在登陆窗口,不输入正确密码和账号,不能跳转焦点,目的是这个。我上面那个直接出的是登陆窗口,然后验证正确才出初装口!
yutian_31 2010-04-21
  • 打赏
  • 举报
回复
不要用lf.ShowDialog(this) == DialogResult.OK 你验证通过后直接加载主窗体就可以啊
shighui 2010-04-21
  • 打赏
  • 举报
回复
呵呵,这样吗?自己再想想。

110,567

社区成员

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

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

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