在C#中,我想创建一个具有以下行为的函数(方法):
是否有简洁易读的方法来实现此功能?
答案 0 :(得分:4)
创建您要显示的表单
public partial class SomeForm : Form
{
public SomeForm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.OK;
Close();
}
public string SomeValue { get { return textBox1.Text; } }
}
...
private string GetSomeInput()
{
SomeForm f = new SomeForm();
if (f.ShowDialog() == DialogResult.OK)
return f.SomeValue;
return null;
}
答案 1 :(得分:3)
只需致电Microsoft.VisualBasic.InputBox()
答案 2 :(得分:1)
如果您正在寻找对话功能,WPF和WinForms都支持此功能。您只需在显示的窗口/表单上调用ShowDialog()
即可。这是一个阻塞调用,因此在关闭显示的对话框之前,您不会将处理返回到调用窗口。
要从此调用返回值,只需在窗体/窗口上创建属性,然后在ShowDialog()之后检查它们。
答案 3 :(得分:0)
该函数应返回您正在寻找的输入类型,它应该执行类似......
的操作protected [InputType] ShowInputDialog()
{
[InputWindowType] w = new [InputWindowType]();
w.ShowDialog();
return w.Input; //Where input is a property that exposes what the user provided as input
}
答案 4 :(得分:0)
创建表单。添加要检索的值的某些属性。然后从主窗体调用新窗体作为ShowDialog,当它返回时,从属性中检索值。
答案 5 :(得分:0)
按如下方式实例化您的表单:
Form myForm = new Form();
var result = myForm.ShowDialog();
我手边没有winforms设计师,但返回值是Enum,表示点击了ok或取消等等。
一旦你知道,你就可以读出所选的值。
string selectedValue = myForm.SelectedValueProperty;