2011-07-15 16 views
3

My C#windowフォームアプリケーションは、実行時にCheckBoxとPictureBox(ペア)のリストを生成します。 PictureBox(つまりMouseClickイベント)をクリックすると、対応するCheckBoxがチェックされているかチェックされていないようにします。これについてどうすればいいですか?PictureBoxのMouseClickイベントが対応するCheckBox

答えて

1

対応するチェックボックスのポインタをTagというプロパティのPictureBoxに格納することをお勧めします。その後、あなたはのPictureBoxクリックイベントハンドラでそれを使用することができます。

((sender as PictureBox).Tag as CheckBox).Checked = !((sender as PictureBox).Tag as CheckBox); 

は、あなたがその場でのコントロールを作成している場合、私は、関連の構築を好むだろうnull

0

ためTagをチェックすることを忘れないでください。タグを使用するのではなく、辞書を使用してペアを格納します。

Dictionary<PictureBox, CheckBox> association = new Dictionary<PictureBox, CheckBox>(); 

// --------------------------------------- 
// then, in your generation code 

PictureBox pb = // init 
CheckBox cb = // init 

// whatever 

association.Add(pb, cb); 

// ---------------------------------------  
// then, in your click handler for picturebox 

PictureBox pb = (PictureBox)sender; 
CheckBox cb = association[pb]; 

cb.Checked = !cb.Checked; 
関連する問題