A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梁琨 黑马帝   /  2011-11-26 04:40  /  3333 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 梁琨 于 2011-11-28 19:06 编辑

例如:QQ登陆成功之后,切换到主窗体!

评分

参与人数 2技术分 +1 黑马币 +1 收起 理由
张彪 + 1
李荣壮 + 1

查看全部评分

6 个回复

倒序浏览
在form1里:
XXXXXXXXXXXXXX执行完代码;
this.dialogresult=dialogresult.ok;//关闭自己并且为dialogresult赋值

在主程序里:
if(form1.showdialogresult()==dialogresult.ok)
{form2.show();}

评分

参与人数 1技术分 +1 收起 理由
李荣壮 + 1

查看全部评分

回复 使用道具 举报
LoginForm:登录窗体名。MainForm:主窗体名。
在登录窗体中:
MainForm mainForm=new MainForm();
mainForm.Show();
this.Hide();

评分

参与人数 1技术分 +1 收起 理由
朱勋 + 1

查看全部评分

回复 使用道具 举报
许前刚 发表于 2011-11-26 10:42
LoginForm:登录窗体名。MainForm:主窗体名。
在登录窗体中:
MainForm mainForm=new MainForm();

这样不好吧, 你把登录窗体隐藏了, 而不是关闭, 它还是在后台运行, 占用资源不说
如果在任务管理器关闭了, 那程序也就退出了
回复 使用道具 举报
李荣壮 发表于 2011-11-26 11:41
这样不好吧, 你把登录窗体隐藏了, 而不是关闭, 它还是在后台运行, 占用资源不说
如果在任务管理器关闭了, ...

我说的这种是适合初学者的,LoginForm是启动窗体,如果不是隐藏而是关闭或退出,整个程序也就推出了,那样还怎么打开mainForm窗体?即使打开了,主窗体mainForm在loginForm退出或关闭的时候,mainform也会关闭!整个程序会退出!
回复 使用道具 举报
要在不浪费资源的前提下可以尝试用模式窗体,可以试试这种方法:
主窗体中:
private void button1_Click(object sender, EventArgs e)
{
     MainForm  mainfrm = new MainForm();
     mainfrm.ShowDialog();
     this.Visible=false;
    if (mainfrm.DialogResult == DialogResult.OK)
    {
        this.Visible = true;
    }
}
其他窗体要返回的话,在要返回的窗体中的按钮事件中写如下代码:
private void button1_Click(object sender, EventArgs e)
{
      this.DialogResult = DialogResult.OK;
      this.Close();
      this.Dispose();
}
这样不会增加资源的耗费,而且还可以实现不同窗体之间的来回切换。

点评

刚刚发现form也实现了IDisposeable接口~学习了:)  发表于 2011-11-26 16:45

评分

参与人数 1技术分 +1 收起 理由
朱勋 + 1

查看全部评分

回复 使用道具 举报
张彪 黑马帝 2011-11-28 14:53:20
7#
用mian函数试试看,后面可以跟上窗体的名字

评分

参与人数 1技术分 +1 收起 理由
李荣壮 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马