📜  如何在 C# 中转到其他表单(1)

📅  最后修改于: 2023-12-03 15:24:08.030000             🧑  作者: Mango

如何在 C# 中转到其他表单

在 C# 应用程序中,经常需要在不同的表单之间进行转换。以下是一些方法和技巧来实现此功能。

通过点击按钮转到其他表单

在 Windows Form 中,可以通过添加按钮和单击事件来转到另一个表单。在 Visual Studio 中为按钮添加单击事件的方法如下:

  1. 在设计模式下打开要添加按钮的表单
  2. 从工具箱中拖动按钮控件到表单中
  3. 在属性窗口中设置按钮的 Text 属性
  4. 点击按钮,在单击事件中添加以下代码片段:
private void button1_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.Show();
    this.Hide();
}

其中 'Form2' 是要打开的表单的类名。form2.Show() 打开新表单,this.Hide() 隐藏当前表单。

通过菜单项转到其他表单

另一种常用的方法是通过菜单项来转到其他表单。在 Visual Studio 中创建菜单项的方法如下:

  1. 在设计模式下打开要添加菜单项的表单
  2. 在工具箱中添加 "MenuStrip" 控件,并将其拖动到表单上
  3. 在菜单栏中添加菜单项,并设置它们的文本和单击事件
  4. 在单击事件中添加以下代码片段:
private void menuitem1_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.Show();
    this.Hide();
}
通过返回值在不同的表单之间传递数据

有时候,需要在表单之间传递一些数据。一个表单调用另一个表单并获得返回值的方法如下:

  1. 在要返回值的表单中添加以下代码:
public string myValue = "";

private void button1_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.ShowDialog();
    myValue = form2.myValue;
}
  1. 在要传递返回值的表单中添加以下代码:
public string myValue = "";

private void button1_Click(object sender, EventArgs e)
{
    myValue = "此处填写要传递的值";
    this.DialogResult = DialogResult.OK;
    this.Close();
}

注意,使用 ShowDialog() instead of Show() 方法打开第二个表单。

  1. 通过在第二个表单中使用 this.DialogResult 来返回数据:
private void button1_Click(object sender, EventArgs e)
{
    myValue = "此处返回要传回的值";
    this.DialogResult = DialogResult.OK;
    this.Close();
}

在第一个表单中访问该值,使用 Form2.myValue

结论

通过代码片段和示例,我们可以看到 C# 中转到其他表单的多种不同方法,以及在不同表单之间传递数据的一些技巧。这将帮助程序员更好的管理他们的代码,并使他们的应用程序更加灵活和动态化。