0

flowlayoutpanel コントロールにロードしたカスタム コントロールがあり、正常に表示されますが、「選択された」側面を処理する場所を見つけるのに少し苦労しています。その種の 2 つの部分の問題です。

1 つは、コントロールを単一のオブジェクト (表示コントロール、ボタンなしなど) として機能させる必要があるため、コントロールのラベルをクリックしても onclick コントロールがトリガーされないことです。

他の部分は、選択したアイテムを取得するにはどうすればよいですか?

現在、カスタム クラス オブジェクト (データ) の List<> があり、カスタム コントロールのコンストラクターはこれらの項目の 1 つを取ることができます。そのリストをループして、flowlayoutpanel を作成すると思います

Foreach(CItem item in MyItems)
{
flowlayout1.controls.add(new MyControl(item))}

コントロールの Enter/Leave イベントで背景色を変更し、選択した場所を更新する必要がありますが、どこが最適かわかりません

また、カスタム コントロールのすべてのコントロールに同じイベントを配線しようとしました

    public MyControl(CItem mv)
    {
        InitializeComponent();
        foreach (Control ctrl in this.Controls)
        {
            ctrl.Enter +=new EventHandler(MyControl_Enter);
            ctrl.Leave +=new EventHandler(MyControl_Leave);
        }

    ........
4

1 に答える 1

0

選択したインデックスの設定を含む Bindable FlowLayoutPanel を作成しました (選択したコントロールに応じて強調表示します。コード レビューサイトに投稿しました。チェックして、それがうまくいくかどうか教えてください。

于 2012-02-09T16:44:50.827 に答える