c#点击窗体1中but1打开窗体2,关闭窗体3
时间: 2024-09-21 10:03:16 浏览: 34
在C#中,你可以通过事件驱动的方式实现这种功能。首先,你需要将`Button`控件(在这个例子中是`but1`)添加到窗体1(Form1),然后设置它的Click事件处理程序,以便当按钮被点击时执行相应的操作。
在Form1.cs文件中,假设窗体1有一个名为`button1`的Button控件:
```csharp
public partial class Form1 : Form
{
private Form2 form2;
private Form3 form3;
public Form1()
{
InitializeComponent();
// 初始化窗体2和窗体3
form2 = new Form2();
form3 = new Form3();
// 当button1被点击时
button1.Click += Button1_Click;
}
private void Button1_Click(object sender, EventArgs e)
{
// 关闭当前显示的窗体(这里假设form3是活动的)
if (form3.Visible) form3.Close();
// 显示窗体2
form2.Show(); // 如果form2未显示,则显示;如果已显示则保持其焦点
}
}
```
在上述代码中,当你点击`but1`时,首先检查`Form3`是否可见并关闭它,接着显示`Form2`。
如果你想要在关闭`Form3`之后确保`Form2`成为活动窗口,可以修改`Button1_Click`方法中的`form2.Show()`为`form2.Activate()`。
阅读全文