C#目前有两个窗体,想要实现点击窗体1的按钮让窗体2显示出来,窗体2显示出来后窗体1不能再点击,然后点击窗体2的关闭按钮后让窗体1刷新界面,并且窗体1恢复可点击状态
时间: 2024-03-24 14:38:37 浏览: 35
您可以按照以下步骤实现您的需求:
1. 在窗体1中添加一个按钮,用于打开窗体2。并在按钮的 Click 事件中添加以下代码:
```csharp
private void button1_Click(object sender, EventArgs e)
{
// 创建窗体2实例
Form2 form2 = new Form2();
// 禁用窗体1
this.Enabled = false;
// 显示窗体2
form2.ShowDialog();
}
```
2. 在窗体2中添加一个关闭按钮,用于关闭窗体2。在关闭按钮的 Click 事件中添加以下代码:
```csharp
private void button1_Click(object sender, EventArgs e)
{
// 关闭窗体2
this.Close();
// 刷新窗体1界面
// TODO: 刷新界面的代码
// 启用窗体1
Form1 form1 = (Form1)Application.OpenForms["Form1"];
form1.Enabled = true;
}
```
这样,当您点击窗体1中的按钮时,窗体2将会显示出来,而窗体1将会被禁用。当您关闭窗体2时,窗体1将会刷新界面并恢复可点击状态。
相关问题
在C#winform窗体中实现点击按钮后,在各TextBox 控件中显示字符串,该如何实现
在 C# Winform 中,如果想要在点击按钮后在各个 TextBox 控件中显示字符串,可以通过以下步骤实现:
1. 在窗体中添加 TextBox 控件,设置它们的 Name 属性以便在代码中引用它们。
2. 在窗体中添加 Button 控件,并设置它的 Name 和 Text 属性。
3. 双击按钮,进入按钮的 Click 事件处理程序。
4. 在事件处理程序中,使用 TextBox 控件的 Name 属性访问它们,并将要显示的字符串分别赋值给它们的 Text 属性。
以下是示例代码:
```csharp
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = "Hello";
textBox2.Text = "World";
}
```
在这个示例中,我们假设在窗体中已经添加了两个 TextBox 控件,分别为 textBox1 和 textBox2。当用户单击按钮时,事件处理程序会将字符串“Hello”分配给 textBox1 的 Text 属性,并将字符串“World”分配给 textBox2 的 Text 属性。这样,单击按钮后,这两个文本框就会显示相应的字符串。
c#winfrom from1窗体按钮点击弹出from2窗体选择数据框双击数据from1的textbox里
您可以按照以下步骤实现:
1. 在 From1 窗体上添加一个按钮,并在单击事件中添加以下代码:
```
private void button1_Click(object sender, EventArgs e)
{
From2 form2 = new From2(); // 实例化 From2 窗体
if (form2.ShowDialog() == DialogResult.OK) // 显示 From2 窗体
{
textBox1.Text = form2.SelectedData; // 将 From2 窗体中选中的数据赋值给 From1 窗体的 TextBox1
}
}
```
2. 在 From2 窗体上添加一个 DataGridView 控件,并为其添加双击事件,添加以下代码:
```
public string SelectedData { get; set; } // 添加一个属性,用于存储选中的数据
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
SelectedData = dataGridView1.CurrentRow.Cells[0].Value.ToString(); // 将选中的数据存储到 SelectedData 属性中
DialogResult = DialogResult.OK; // 设置窗体的 DialogResult 属性为 OK,表示用户已经完成操作
Close(); // 关闭 From2 窗体
}
```
这样,当用户在 From1 窗体上单击按钮时,会弹出 From2 窗体,并显示一个 DataGridView 控件。用户双击 DataGridView 中的某一行数据时,会将该行数据赋值给 From1 窗体上的 TextBox1。