teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

1点修正。Parent→ParentFoem

2015/11/10 07:49

投稿

catsforepaw
catsforepaw

スコア5944

answer CHANGED
@@ -23,7 +23,7 @@
23
23
  ```
24
24
  private void buttonR_Click(object sender, EventArgs e)
25
25
  {
26
- ((Interface1)this.Parent).ClickButton('R');
26
+ ((Interface1)this.ParentForm).ClickButton('R'); // Parentだと問題があるのでParentFormに修正
27
27
  }
28
28
  ```
29
29
  だいたいこんな感じでユーザーコントロールのクリックイベントを親フォームに受け渡すことができます。

1

ちょっと判りづらいかもしれないので説明追記

2015/11/10 07:49

投稿

catsforepaw
catsforepaw

スコア5944

answer CHANGED
@@ -9,7 +9,7 @@
9
9
  ③ それぞれのフォームにインターフェイスを追加。
10
10
  `public partial class Form1 : Form, Interface1`
11
11
 
12
- ④ インターフェイスのメソッドを実装
12
+ ④ インターフェイスのメソッドを実装。※Form側に実装します。
13
13
  例えばこんな感じ
14
14
  ```
15
15
  public void ClickButton(char ch)
@@ -18,7 +18,7 @@
18
18
  }
19
19
  ```
20
20
 
21
- ⑤UserControlのボタンクリックイベントで、親フォームの上記で追加したインターフェイスを呼び出す。
21
+ ⑤UserControlのボタンクリックイベントで、親フォームの上記で追加したインターフェイスを呼び出す。※UserControl側に実装します。
22
22
  例えばこんな感じ
23
23
  ```
24
24
  private void buttonR_Click(object sender, EventArgs e)
@@ -26,4 +26,6 @@
26
26
  ((Interface1)this.Parent).ClickButton('R');
27
27
  }
28
28
  ```
29
- だいたいこんな感じでユーザーコントロールのクリックイベントを親フォームに受け渡すことができます。
29
+ だいたいこんな感じでユーザーコントロールのクリックイベントを親フォームに受け渡すことができます。
30
+ ※③以降の手順は前後してもかまいません。
31
+