0

私は CheckListBox のようなチェックボックスのグループを別の色で持ちたいと思っています。このグループを作成して実行時に編集する方法はありますか?

私は次のコードを使用しますが、異なるバックカラーにすることはできません:

            foreach (var color in _colors)
            {
                var tmpCheckBox = new CheckBox
                                    {
                                       // Location = objLocation,
                                        BackColor = color,
                                        Text = color.Name
                                    };
                objLocation.X = objOffset;
                objLocation.Y += tmpCheckBox.Height + objOffset;
                clbColorAnalyzeResult.Items.Add(tmpCheckBox);
            }

これについて言及するだけです: clbColorAnalyzeResult.Controls.Add(tmpCheckBox); スクロールバーがなく、選択したインデックスを使用できないため、役に立ちません!

事前に感謝します。

4

2 に答える 2

1

Controlsフォームのプロパティにチェックボックスを追加する必要があります。

おそらく、独自のカスタム リスト ボックスを作成し、OnDrawItem メソッドをオーバーライドする必要があります。このようなもの:

class MyCheckedListBox : CheckedListBox
    {
        protected override void OnDrawItem(DrawItemEventArgs e)
        {

        }
    }
于 2012-07-25T10:23:22.513 に答える
1

これを行う!

スクロールバーを取得するには、チェックボックスを に追加し、 true にPanel設定する必要があります。andイベントをAutoScrollサブスクライブして、どのチェックボックスが選択されているかを判断できます。GotFocusLostFocus

于 2012-07-25T10:29:24.097 に答える