菜菜的问题,如何隐藏本窗体,显示别的窗体?
如下代码, 运行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