2016-04-08 26 views
0

我想知道是否有可能/如何顯示一個彈出框,您可以輸入一個值並在c#窗體應用程序(visual studio)中使用它。關於這個地方可能已經有了指導,但是我無法找到最適合我的地方 - 可能不知道用於它的正確術語。c#如何顯示按鈕上的值框點擊

基本上我需要一個盒子來顯示你輸入號碼的地方,並在其他地方使用該號碼。

「」」

EVENT :: 點擊按鈕 - >打開一個彈出框 - >輸入值 - >進入 - >使用價值別的地方

「」 「」 不知道這是可能的,或者你必須使用新的表單頁面。

謝謝您的解答。

+1

該問題已經詢問[這裏](http://stackoverflow.com/questions/10797774/messagebox-with-input-field) –

回答

0

嗯,有一個名爲TaskDialog其實一個API,它看起來像消息框,但你可以添加組件它,Example

但是,如果你創建你自己的形式,因爲你將有更多的可能性和更少的代碼編寫, 如果你創建自己的表單,您可以添加一個公共屬性,那麼你使用ShowDialog函數調用您的形式,它會更好,最後得到價值。

using(FormDialog fr= new FormDialog()) 
{ 
    if(fr.ShowDialog()==System.Windows.Forms.DialogResult.OK) 
    { 
    //get your property 
    } 
} 

表單(FromDialog)你應該使用this.DialogResult=System.Windows.Forms.DialogResult.OK; 代替this.close()或出售(); 那麼你可以使用一個事件來管理,如果你想使用輸入驗證,最有可能的:

private void FormDialog_KeyDown(object sender, KeyEventArgs e) 
     { 
      if (e.KeyCode==Keys.Enter) 
      { 
       //set your property 
       this.DialogResult=System.Windows.Forms.DialogResult.OK; 
      } 
     } 
0

您創建一個窗體(MyForm的)一個從Form繼承,並公開在您需要的數據(名字,姓氏)進入。當你點擊你的按鈕時,表格出現。

public void eventClick(....) 
{ 
    MyForm f = new MyForm(); 
    f.Closed + = ClosedHandler; 
    f.Show(); 
} 

在MyForm中輸入數據並將數據填充爲MyForm的公共變量。由於您的主窗體訂閱了關閉事件,它將觸發事件處理程序並從中獲取數據。

public void ClosedHandler(....) 
{ 
    MyForm f = sender as MyForm 
    if(f!=null) 
    { 
     Person p = new Person() 
     { 
      FirstName = f.FirstName; 
      LastName = f.LastName; 
     }; 
    } 

}