2011-01-02 6 views
-4

私の関数はユーザーの入力を受け入れ、ユーザーが[OK]をクリックすると何かをします。関数内のユーザー入力と受け入れ

プライベートvoid cannyToolStripMenuItem_Click(オブジェクト送信者、EventArgs e) { canny(); }

private void canny() 
     { 

// get user input 
// if user clicks ok 
      if (ok button is clicked) 
       { 
        messagebox.show(" you clicked ok") 
       // 
       //do dome work 
       // 
       } 


     } 

メッセージボックスは表示されません。私は何が欠けている。

private void ok_Click(object sender, EventArgs e) 
     { 
// should I add here some thing 
     } 

私は何が欠けていますか? について、

+1

あなたの質問は意味をなさない。 – SLaks

+1

あなたの現在の設定の詳細をもう少し参考にしてください。また、コードをフォーマットすることを忘れないでください – Soumya

+6

彼らは何をするか???????????? 'Form1.Control.Add(Ok)'の後ろに? OSの言語パックが壊れていますか、またはブラウザですか? – BoltClock

答えて

3

あなたが達成しようとしていることは、ダイアログボックスから結果を得ることだと思います。その場合は、次のようにします。

private void ShowDialogAndDoSomethingBasedOnTheResult() 
{ 
    DialogResult result = MessageBox.Show(
     "Dialog text", 
     "Caption to go in title bar", 
     MessageBoxButtons.OK); 
    if (result == DialogResult.OK) 
    { 
     //Do work 
    } 
} 

さらに多くの例については、http://msdn.microsoft.com/en-gb/library/0x49kd7z.aspxを参照してください。

1

まあ、はい、あなたは:

private void ok_Click(object sender, EventArgs e) 
{ 
    this.DialogResult = DialogResult.Ok; 
} 

ダイアログを閉じる、それだけで限り、そのDialogResultプロパティがNoneとして実行されているままになります。厳密には必要ではなく、デザイナーを使用することもできます。ボタンのDialogResultプロパティを変更して、コードを書く必要がなくなりました。それはしばしば適切ではありませんが、通常、ユーザーが必要なすべての情報を提供しているかどうかを確認したいと考えています。 Ymmv。

関連する問題