winform如何弹出一个带textbox的对话框,并且我要能收到textbox的返回值
时间: 2024-02-27 15:52:31 浏览: 323
您可以使用C#中的MessageBox.Show方法来弹出一个带有TextBox的对话框。但是,MessageBox.Show方法只能返回一个DialogResult,无法返回TextBox的值。因此,我们需要手动创建一个带有TextBox的对话框。以下是一个示例代码,可以实现您的需求:
1. 首先,创建一个新的WinForms应用程序项目。
2. 在项目中添加一个新的Form,命名为MyDialog。
3. 在MyDialog中添加一个TextBox和两个Button,一个Button用于确定对话框的返回值,另一个Button用于取消对话框。
4. 在MyDialog中添加一个公共属性,用于返回TextBox的值:
```
public string TextBoxValue
{
get { return textBox1.Text; }
}
```
5. 在主窗体中,使用以下代码来弹出MyDialog对话框:
```
private void button1_Click(object sender, EventArgs e)
{
MyDialog dialog = new MyDialog();
if (dialog.ShowDialog() == DialogResult.OK)
{
string textBoxValue = dialog.TextBoxValue;
// 在这里处理TextBox的返回值
}
}
```
6. 在MyDialog中,点击确定按钮时,将对话框的DialogResult设置为OK,并关闭对话框。
```
private void button1_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
this.Close();
}
```
7. 在MyDialog中,点击取消按钮时,将对话框的DialogResult设置为Cancel,并关闭对话框。
```
private void button2_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
```
这样,当您在主窗体中调用MyDialog.ShowDialog()方法时,将会弹出一个带有TextBox的对话框,并且您可以使用MyDialog.TextBoxValue属性来获取TextBox的值。
阅读全文