[英]Get in input from another windows form in c#
我有一個Windows窗體應用程序,我需要從用戶獲得輸入。 我決定用另一種形式。 我的主窗口中的代碼形式如下:
inputPage p = new inputPage();
p.Visible = true;
VBand = p.getValueDouble();
我的第二種形式(我從用戶那里獲得輸入)很簡單。 它只包含標簽,文本框和確定按鈕。 我的問題是,我想在我們確定用戶輸入值並按下確定按鈕后調用getValueDouble函數(上面代碼的第3行)。 那我該怎么做呢? 謝謝..
您可能想要使用Form的ShowDialog()
方法。 這將導致您的當前函數等到用戶單擊按鈕以關閉表單。
inputPage p = new inputPage();
DialogResult result = p.ShowDialog();
if(result == DialogResult.OK)
{
VBand = p.getValueDouble();
}
表單上的“確定”按鈕應將其DialogResult
屬性設置為DialogResult.OK
。
假設您的inputPage是一個表單:
inputPage p = new inputPage();
if(p.ShowDialog() == DialogResult.Ok)
{
VBand = p.getValueDouble();
}
請注意命名約定:類名稱應以大寫字母和方法名稱開頭。
您應該執行以下操作:
InputPage p = new InputPage();
if (p.ShowDialog(this) == DialogResult.OK)
{
vBand = p.GetValueDouble();
}
使用WPF時,如下所示:
InputPage p = new InputPage();
p.Owner = this;
if (p.ShowDialog() ?? false)
{
....
}
在WPF中, ShowDialog
方法返回一個bool?
可以為null
或false
(對話框在沒有用戶選擇的情況下被取消或以其他方式關閉),如果用戶按下OK,則為true
。
if (... ?? ...)
可以改寫為:
bool? ret = p.ShowDialog();
if (ret.HasValue() && ret)
{
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.