读书人

菜菜的有关问题,怎么隐藏本窗体,显示别

发布时间: 2011-12-19 23:23:36 作者: rapoo

菜菜的问题,如何隐藏本窗体,显示别的窗体?
如下代码, 运行IF后 根据结果,显示哪个窗体, 但是不能隐藏自己.
我从另一个窗体过来时候,也是按钮单击,隐藏自己,打开别的窗体就可以.

还有 这里应该完全卸载掉 FORM3 好 还是隐藏了就可以了? 卸载代码如何写?

C# code
        private void Form3_Load(object sender, EventArgs e)        {            if (Convert.ToString(MessageBox.Show("包含警告图标和确定、取消按钮的消息框", "消息框标题", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation))=="OK")            {                Form2 frm2 = new Form2();                frm2.Show();                this.Hide();            }            else            {                Form1 frm1 = new Form1();                frm1.Show();                this.Hide();            }        }



[解决办法]
lz这里有几个问题:
1、打开新窗体,隐藏当前窗体,不能在Load事件,因为framework在load事件之后才把form.Visible设为true的,所以这里的this.Hide没起作用,建议放在VisiableChanged事件里。

2、if语句有问题
C# code
if (MessageBox.Show("包含警告图标和确定、取消按钮的消息框", "消息框标题", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation)==DialogResult.OK){  //...
[解决办法]
重载一个构造函数
C# code
class Form1{  public Form1(Form3 f3)  {    f3.close();  }}class Form3{private void Form3_Load(object sender, EventArgs e)        {            if (Convert.ToString(MessageBox.Show("包含警告图标和确定、取消按钮的消息框", "消息框标题", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation))=="OK")            {                Form2 frm2 = new Form2(this);                frm2.Show();                //this.Hide();            }            else            {                Form1 frm1 = new Form1(this);                frm1.Show();                //this.Hide();            }        }}
[解决办法]
我没有编译器,
class Form1
{
public Form1(Form3 f3)
{
f3.close();
}
}
这个不是有类吗class Form1

读书人网 >C#

热点推荐