2016-10-13 13 views
0

午後すべてC#WinForms - ユーザーがテキストボックスにクリック

私はWindowsフォームアプリケーションを開発しており、問題に遭遇しました。

さまざまなことを試した後、私はあなたの知識を求めて正しい方向に向けるようになりました。私は私のプログラムの多くの簡単なバージョンを複製している

:あなたが見ることができるように

My winform

は、私は2つのテキストボックスを持っています。一番下のテキストボックス(textbox1)をクリックしてイベントの何らかのフォームを呼び出すことができるようにしたいとします。この場合、簡単にするために、メッセージボックスをポップアップします。

私はここに記載されているイベントをしてきた: https://msdn.microsoft.com/en-us/library/system.windows.forms.textbox_events(v=vs.110).aspx そして、私はそれらのいずれかが動作するように期待されるように私のコードにそれらを実装しました。しかし、そうではありません。

private void textBox1_TextChanged(object sender, EventArgs e) 
    { 
     MessageBox.Show("TextBox Entered"); 
    } 
    //Above - Will pop message box when text entered. 
    private void textBox1_GotFocus(object sender, EventArgs e) 
    { 
     MessageBox.Show("TextBox Entered"); 
    } 

    private void textBox1_Enter(object sender, EventArgs e) 
    { 
     MessageBox.Show("TextBox Entered"); 
    } 

    private void textBox1_Click(object sender, EventArgs e) 
    { 
     MessageBox.Show("TextBox Entered"); 
    } 

誰も私が迷っていることを知っていますか?私は達成しようとしているものが実際に可能であると推測していますか?

種類よろしく、 B.

+2

イベントに登録されているテキストボックスはありますか?デザインビューのテキストボックスをクリックし、イベントがイベントタブに表示されていることを確認します(稲妻のように見えます)。 – Alex

+0

ああ、優秀!私は以前これを遭遇したことはありません。ありがとうございます:) –

+1

次回は、イベントウィンドウでその領域をダブルクリックすると、イベント本体が生成され、自動的に登録されます。 –

答えて

0

イベントはあなたが書かれている方法に加入していることを確認します。これは、プロパティウィンドウの[イベント]タブ(稲妻のように見える)を使用してデザインビューで行うことができます。他の人が述べたように、イベントウィンドウでダブルクリックすると、イベントメソッドが生成され、自動的にそのイベントメソッドが登録されます。

もう1つの方法は、コードを使用して直接購読することです。フォームコンストラクタでこれを書くことができます:

textBox1.TextChanged += textBox1_TextChanged; 
関連する問題