C# 在两个 windows 表单之间切换
C# Switching between two windows forms
我有两种形式。首先我有按钮将我转发到第二种形式并使用 this.Hide();
隐藏第一个
看起来像这样:
Form1Streamer f1 = new Form1Streamer();
f1.Left = this.Left;
f1.Top = this.Top;
f1.Size = this.Size;
f1.Show();
this.Hide();
checkBox1.Checked = false;
它也占据了它的位置,但它不是关于它的。
在第二种形式中,我有一个按钮,单击后应该返回隐藏的形式并使其再次可见,但我找不到如何访问它的属性的解决方案。
我有一些想法,但真的不知道如何标记它。任何帮助表示赞赏。
您需要在第二个表单中引用隐藏表单。为此,像这样更改第二种形式的构造函数
public Form1Streamer(Form firstform)
{
InitilizeComponent();
this.firstForm=firstform;
}
private FirstForm firstForm;
现在您可以使用参考显示第一个表格 firstForm
在第一种形式中,您需要更改此代码
Form1Streamer f1 = new Form1Streamer();
到
Form1Streamer f1 = new Form1Streamer(this);
您需要将 first 形式的引用传递给 second 形式,以便调用第一种形式的任何方法。这是一个简单的示例,将进行演示。
下面是我的第一个表格class
using System;
using System.Windows.Forms;
namespace Test_Desktop
{
public partial class FirstForm : Form
{
public FirstForm()
{
InitializeComponent();
}
private void showSecondFormButton_Click(object sender, EventArgs e)
{
SecondForm secondform = new SecondForm(this); //Passing the reference of current form i.e. first form
secondform.Show();
this.Hide();
}
}
}
这是我的第二种形式class
using System;
using System.Windows.Forms;
namespace Test_Desktop
{
public partial class SecondForm : Form
{
private FirstForm firstForm = null;
public SecondForm()
{
InitializeComponent();
}
///
/// Overriding constructor
///
public SecondForm(FirstForm firstForm)
{
InitializeComponent();
this.firstForm = firstForm;
}
private void showFirstFormButton_Click(object sender, EventArgs e)
{
if(firstForm!=null)
{
firstForm.Show();
//
//Do some processing
//
this.Dispose();
}
}
}
}
我有两种形式。首先我有按钮将我转发到第二种形式并使用 this.Hide();
隐藏第一个看起来像这样:
Form1Streamer f1 = new Form1Streamer();
f1.Left = this.Left;
f1.Top = this.Top;
f1.Size = this.Size;
f1.Show();
this.Hide();
checkBox1.Checked = false;
它也占据了它的位置,但它不是关于它的。 在第二种形式中,我有一个按钮,单击后应该返回隐藏的形式并使其再次可见,但我找不到如何访问它的属性的解决方案。 我有一些想法,但真的不知道如何标记它。任何帮助表示赞赏。
您需要在第二个表单中引用隐藏表单。为此,像这样更改第二种形式的构造函数
public Form1Streamer(Form firstform)
{
InitilizeComponent();
this.firstForm=firstform;
}
private FirstForm firstForm;
现在您可以使用参考显示第一个表格 firstForm
在第一种形式中,您需要更改此代码
Form1Streamer f1 = new Form1Streamer();
到
Form1Streamer f1 = new Form1Streamer(this);
您需要将 first 形式的引用传递给 second 形式,以便调用第一种形式的任何方法。这是一个简单的示例,将进行演示。
下面是我的第一个表格class
using System;
using System.Windows.Forms;
namespace Test_Desktop
{
public partial class FirstForm : Form
{
public FirstForm()
{
InitializeComponent();
}
private void showSecondFormButton_Click(object sender, EventArgs e)
{
SecondForm secondform = new SecondForm(this); //Passing the reference of current form i.e. first form
secondform.Show();
this.Hide();
}
}
}
这是我的第二种形式class
using System;
using System.Windows.Forms;
namespace Test_Desktop
{
public partial class SecondForm : Form
{
private FirstForm firstForm = null;
public SecondForm()
{
InitializeComponent();
}
///
/// Overriding constructor
///
public SecondForm(FirstForm firstForm)
{
InitializeComponent();
this.firstForm = firstForm;
}
private void showFirstFormButton_Click(object sender, EventArgs e)
{
if(firstForm!=null)
{
firstForm.Show();
//
//Do some processing
//
this.Dispose();
}
}
}
}