[英]C# input dialog as a function
在C#中,我想創建一個具有以下行為的函數(方法):
有沒有簡潔,易讀的方式來實現此功能?
創建您要顯示的表單
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;
}
只需調用Microsoft.VisualBasic.InputBox()
如果您正在尋找對話框功能,則WPF和WinForms都支持此功能。 您只需在顯示的窗口/窗體上調用ShowDialog()
即可。 這是一個阻塞的調用,因此在關閉顯示的對話框之前,您不會將處理返回到調用窗口。
要從此調用返回值,只需在“窗體/窗口”上設置屬性,然后在ShowDialog()之后檢查這些屬性。
該函數應該返回您要查找的輸入的類型,並且應該執行以下操作:
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
}
創建一個表格。 添加要檢索的值的一些屬性。 從主窗體調用名為ShowDialog的新窗體,當它返回時,從屬性中檢索值。
實例化您的表單,如下所示:
Form myForm = new Form();
var result = myForm.ShowDialog();
我沒有winforms設計師,但是返回值是一個Enum,表示單擊了確定或取消等等。
一旦知道,就可以讀出所選的值。
string selectedValue = myForm.SelectedValueProperty;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.