在Visual C#中,可以通过以下几种方式在两个窗体之间进行切换和通信:
Form2 form2 = new Form2();
form2.Show();
this.Hide();
在Form1中:
Form2 form2 = new Form2();
if (form2.ShowDialog() == DialogResult.OK)
{
string data = form2.GetData();
// 处理传递回来的数据
}
在Form2中:
private string data;
public string GetData()
{
return data;
}
private void btnOK_Click(object sender, EventArgs e)
{
data = textBox1.Text;
this.DialogResult = DialogResult.OK;
this.Close();
}
在Form1中:
public event EventHandler DataUpdated;
private void btnUpdate_Click(object sender, EventArgs e)
{
// 触发事件
DataUpdated?.Invoke(this, EventArgs.Empty);
}
在Form2中:
public void SubscribeForm1Event(Form1 form1)
{
form1.DataUpdated += Form1_DataUpdated;
}
private void Form1_DataUpdated(object sender, EventArgs e)
{
// 处理事件
}
这些方法可以根据具体的需求选择使用,实现在Visual C#中的两个窗体之间的切换和通信。
领取专属 10元无门槛券
手把手带您无忧上云