簡體   English   中英

從c#中的另一個窗體輸入輸入

[英]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? 可以為nullfalse (對話框在沒有用戶選擇的情況下被取消或以其他方式關閉),如果用戶按下OK,則為true

if (... ?? ...)可以改寫為:

bool? ret = p.ShowDialog(); 
if (ret.HasValue() && ret)
{
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM