怎么关闭登录界面

qaj_qaj 2017-11-08 04:02:13
用WPF做的登录界面,winform做的主界面,现在登录之后出现两个界面,关闭登录界面整个程序都会关闭,麻烦各位给点意见,谢谢
...全文
410 14 点赞 打赏 收藏 举报
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
weixin_40706162 2017-11-28
this.Close()不行的话 那就Hide()隐藏当前窗体
  • 打赏
  • 举报
回复
如果你仅仅是把登录窗体(进程的主界面窗体)隐藏,把 MainForm 窗体实例显示出来,其实这是不对的,并没有成功地转移主窗体功能。
  • 打赏
  • 举报
回复
登录界面作为整个进程的主界面,跟你的业务设计的“主窗体”并不是同一个概念。所以它们之间要有起码的联动机制,例如
private void button1_Click(object sender, EventArgs e)
{
    //判断允许登录.......
    var f = new MainForm();
    f.FormClosed += (s, arg) =>
    {
        this.Close();
    }
    f.Show();
    this.Hide();
}
这里,登录窗体(this) 跟 MainForm 实例有联动机制,才能完成整个应用的主界面的切换(从登录界面换成真正的 mainform)。
  • 打赏
  • 举报
回复
实现跳转页面 啊
  • 打赏
  • 举报
回复
desperaso 2017-11-10
http://pan.baidu.com/s/1dEGCJdf 登录窗口设计.rar
  • 打赏
  • 举报
回复
白衣如花 2017-11-10
楼上加1 在program的main方法中,先new Login,如果ShowDialog为OK,再Application.Run(new MainForm());
        static void Main()
        {
            login login = new login();
            if (login.ShowDialog() == DialogResult.OK)
                Application.Run(new MainForm());
        }
  • 打赏
  • 举报
回复
LIVI_SUN 2017-11-10
可以在program类中,条件判断一下,比如 点登陆关闭登录窗体,打开主窗体,点关闭或退出,直接退出整个程序。
  • 打赏
  • 举报
回复
认定你 2017-11-10
尽量不要使用this.hiden();这个方法很难控制,用this.visivle 来控制。
  • 打赏
  • 举报
回复
实际上hide并不是合适的做法,看看program.cs 都做了什么,想想怎么做?
  • 打赏
  • 举报
回复
xian_wwq 2017-11-08
同意楼上,Hide()即可 记得设置窗体不在系统任务栏显示
  • 打赏
  • 举报
回复
yjq92 2017-11-08
确实大部分都是这样的,先隐藏当前窗体(this.Hide()),再执行新的窗体(Show())即可
  • 打赏
  • 举报
回复
物联网_咸鱼 2017-11-08
并不是严格意义上的关闭,而是隐藏,Hide()方法
  • 打赏
  • 举报
回复
清澈的风 2017-11-08
新窗体就是登陆成功后显示的主窗体
  • 打赏
  • 举报
回复
清澈的风 2017-11-08
用隐藏this.Hide(); 不一定要关闭掉 在登陆成功后隐藏就可以了this.Hide(); 然后new出新窗体 比如

this.Hide();
Form f = new Form;
f.Show();
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2017-11-08 04:02
社区公告

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