.有两个窗体,分别为窗体 1 和窗体 2。在窗体 1 中单击打开窗体 2, 打开窗体 2,并把窗体 1 中文本框的值赋给窗体 2 中的文本框中。 在窗体 2 中单击关闭窗体 2,把窗体 2 中的文本框的值赋给窗体 1 的文本框中,然
时间: 2024-02-09 12:07:50 浏览: 70
好的,这是一个简单的窗体应用程序开发问题。我将使用C#语言编写代码来实现此功能。以下是代码示例:
在窗体1中,添加一个文本框和一个按钮,按钮的Click事件代码如下:
```
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.textBox1.Text = textBox1.Text;
form2.ShowDialog();
textBox1.Text = form2.textBox1.Text;
}
```
在窗体2中,添加一个文本框和一个按钮,按钮的Click事件代码如下:
```
private void button1_Click(object sender, EventArgs e)
{
Form1 form1 = new Form1();
form1.textBox1.Text = textBox1.Text;
this.Close();
}
```
这样,当在窗体1中单击按钮时,将会打开窗体2,并将窗体1中文本框的值赋给窗体2中的文本框。当在窗体2中单击按钮时,将会将窗体2中的文本框的值赋给窗体1的文本框,并关闭窗体2。
相关问题
.有两个窗体,分别为窗体 1 和窗体 2。在窗体 1 中单击打开窗体 2, 打开窗体 2,并把窗体 1 中文本框的值赋给窗体 2 中的文本框中。 在窗体 2 中单击关闭窗体 2,把窗体 2 中的文本框的值赋给窗体 1 的文本框中,然后关闭窗体 2.要求用委托实现
好的,以下是实现的代码:
首先,在窗体1中定义一个委托类型,用于传递文本框的值:
```C#
public delegate void TextBoxValueChanged(string textValue);
```
然后,在窗体1的代码中,定义一个事件,用于触发委托:
```C#
public event TextBoxValueChanged TextBoxValueChangedEvent;
```
在窗体1中,当打开窗体2时,将窗体1中文本框的值传递给窗体2中的文本框:
```C#
private void buttonOpenForm2_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.TextBoxValueChangedEvent += new TextBoxValueChanged(TextBoxValueChangedMethod);
form2.Show();
}
private void TextBoxValueChangedMethod(string textValue)
{
textBoxForm1.Text = textValue;
}
```
在窗体2中,当关闭窗体2时,将窗体2中文本框的值传递给窗体1中的文本框:
```C#
public partial class Form2 : Form
{
public event TextBoxValueChanged TextBoxValueChangedEvent;
public Form2()
{
InitializeComponent();
}
private void buttonCloseForm2_Click(object sender, EventArgs e)
{
TextBoxValueChangedEvent(textBoxForm2.Text);
this.Close();
}
}
```
这样,就通过委托实现了窗体1和窗体2之间的文本框值传递。
3.有两个窗体,分别为窗体 1 和窗体 2。在窗体 1 中单击打开窗体 2, 打开窗体 2,并把窗体 1 中文本框的值赋给窗体 2 中的文本框中。 在窗体 2 中单击关闭窗体 2,把窗体 2 中的文本框的值赋给窗体 1 的文本框中,然后关闭窗体 2.要求用委托实现
可以定义一个委托类型,用于传递窗体1文本框的值给窗体2的文本框。定义如下:
```csharp
public delegate void UpdateTextDelegate(string text);
```
在窗体1中,需要定义一个委托类型的变量,并将其作为参数传递给窗体2。在窗体1的打开窗体2的按钮事件中,调用该委托类型变量并传递文本框的值。
```csharp
public partial class Form1 : Form
{
private UpdateTextDelegate updateTextDelegate;
public Form1()
{
InitializeComponent();
updateTextDelegate = new UpdateTextDelegate(UpdateTextInForm2);
}
private void btnOpenForm2_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2(updateTextDelegate);
form2.Show();
updateTextDelegate(txtBoxForm1.Text);
}
private void UpdateTextInForm2(string text)
{
txtBoxInForm2.Text = text;
}
}
```
在窗体2中,需要定义一个委托类型的变量,并在构造函数中赋值。在窗体2的关闭按钮事件中,调用该委托类型变量并传递文本框的值。
```csharp
public partial class Form2 : Form
{
private UpdateTextDelegate updateTextDelegate;
public Form2(UpdateTextDelegate updateTextDelegate)
{
InitializeComponent();
this.updateTextDelegate = updateTextDelegate;
}
private void btnCloseForm2_Click(object sender, EventArgs e)
{
updateTextDelegate(txtBoxInForm2.Text);
this.Close();
}
}
```
阅读全文