前提・実現したいこと
コントロールでイベント発生時に、別のコントロールのメソッドを動かしたいです。
たとえば、以下の構造の時に、GroupBox をクリックした時に、ListBox に表示される内容を変更したいのですが、
[今のやり方]に記載した方法では、コントロールの追加、削除があった時に修正箇所があまりにも多いです。
こういう時の理想的な対処方法を教えて下さい。
Form
┣ Panel - TabControl - TabPage - Panel - UserControl - ListBox
┗ Panel - UserControl - Panel - GroupBox
今のやり方
ひたすらParentとControls[]でコントロールを辿っています。
C#
1private void groupBox1_Click(object sender, EventArgs e) 2{ 3var listBox = ((Form)gropuBox1.Parent.Parent.Parent.Parent).Controls[1].Controls[0].Controls[1].Controls[1].Controls[0] as ListBox; 4listBox.・・・・・・ 5}
理想的な方法はデータバインディングです。
https://www.atmarkit.co.jp/fdotnet/chushin/introwinform_06/introwinform_06_01.html