怎么关闭登录界面

qaj_qaj 2017-11-08 04:02:13
用WPF做的登录界面,winform做的主界面,现在登录之后出现两个界面,关闭登录界面整个程序都会关闭,麻烦各位给点意见,谢谢
...全文
498 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
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();

110,538

社区成员

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

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

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