1

私はWindowsフォームに少し慣れていないので、簡単な解決策があればお詫びしますが、Googleで何も見つかりません. テキストボックスなどの項目をフォームにドラッグしてダブルクリックすると、textbox_TextChanged 関数が作成されます。これは期待どおりに機能します。しかし、textbox_Click などの新しい関数を追加しようとしても、呼び出されません。別のプロジェクトで、textbox_Validating 関数を追加しようとしましたが、どちらも呼び出されていません (プロパティで検証がオンになっていることを確認しました)。

TextChanged 関数だけが呼び出されている理由を知っている人はいますか?

これが機能しているものです:

       private void textBox2_TextChanged(object sender, EventArgs e)
    {
        textBox2.BackColor = activeColor;
    } 

機能していないものは次のとおりです。

private void textBox2_Click(object sender, EventArgs e)
    {
        textBox2.BackColor = activeColor;
    }

textBox2_Click メソッドにブレークポイントを設定しましたが、呼び出されません。Web を調べて、_LeftMouseClick や _LeftMouseButtonDown などの他の方法を試しましたが、うまくいきません。

これも機能していません:

    protected void tbNewPassword_Validating(object sender, CancelEventArgs e)
    {
        if (tbNewPassword.Text.Length < 6)
            epErrorProvider.SetError(tbNewPassword, "Your password must be 6 characters or longer.");
    }

_Click メソッドと同様に、ブレークポイントを設定しましたが、呼び出されることはありません。

4

2 に答える 2

4

テキストボックスを選択し、プロパティウィンドウを開き、上部に稲妻のような小さなアイコンがあります(上部には他のアイコンがいくつかあり、1つは「AからZ」のように見えます)、それをクリックすると、すべてが表示されますそのイベント。下にスクロールすると、検証は最後にあります。検証関数名を入力し、リターン キーを押すと、コード内の検証関数が表示されます。そこにコードを追加します。

これは、イベントを追加するのに役立ちます。

または、次のようなイベントハンドラーを直接追加する必要があります

   this.btnIsConnected.Click += new System.EventHandler(this.btnIsConnected_Click);
于 2012-10-11T05:32:39.390 に答える
0

有効な内部コードでイベントを作成しましたが、呼び出されません。なぜ?コントロール(この場合はテキストボックス)にアタッチされていないため、イベントハンドラーをコントロールにアタッチするには、この投稿を確認できます。また、@urlreader の投稿はイベントに慣れるのに役立ちます。

于 2012-10-11T05:40:48.063 に答える