0

CheckedListBoxコントロールによって駆動されるコンマ指定リストが入力されるテキストボックスがあります。

ユーザーがリストの項目をチェックすると、上のテキストフィールドに表示されるという考え方です。アイテムをチェックしてからコントロール内の別の場所をクリックすると、テキストがテキストボックスに表示されるようになりました。コントロールのクリックイベントをキャプチャしています。

item_checkedイベントを使用すると、2番目の項目をチェックするまでテキストボックスのリストは更新されません(その時点で、チェックされた最初の項目のみがテキストボックスに表示されます)。MSDNを読んでも、該当する他のイベントは表示されないようです。

.net1.1を使用しています。

これは、イベントトラップで実行されるメソッドです。

Private Sub FillCheckedTagsTextBox()

    txtSelectedTags.Text = ""

    Dim tagChecked As Object

    For Each tagChecked In cltTagSelection.CheckedItems

        txtSelectedTags.Text = txtSelectedTags.Text + tagChecked.ToString() + ", "

    Next

End Sub

ありがとう、マイク

4

1 に答える 1

0

1.1ですか?あなたの雇用主はあなたを殺そうとしていますか?できれば2.0まで上げたいです。

「Checked」イベントと言うときに再確認するには、CheckedChanged を意味しますか? 2.00 では、これはデスクトップで問題なく動作します。1.1のバグですか?

それがバグである場合 (これを決定する前に、まず自分のコードを確認してください! 次にもう一度確認してください!)、コントロールがフォーカスを失ったときに発生する Leave イベントをキャプチャすることをお勧めします。これに失敗すると、ビジネス オブジェクトを .Checked プロパティにデータバインドし、値が変更されたときに独自のイベントを発生させることができます。例えば

public class MyValues
{
    private bool _check;

    public bool Check
    {
        get
        {
            return _check;
        }
        set
        {
            if(_check != value)
            {
                _check = value;
                // todo: raise event!
            }
        }
    }
}
于 2009-11-02T18:21:26.760 に答える