質問編集履歴
2
画面キャプチャ追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,7 +12,9 @@
|
|
12
12
|
メインフォームのボタンクリックでユーザコントロールのテキストに文字列を表示させることができない。エラーの発生はなし。期待するメソッドも全てコールされている。
|
13
13
|
|
14
14
|
### 該当のソースコード
|
15
|
-
|
15
|
+
実際のツールのキャプチャを記載します。
|
16
|
+
Formのテキストは更新されますが、ユーザコントロール上のテキストは更新されません。(testcメソッドはコールされている)
|
17
|
+

|
16
18
|
```C#
|
17
19
|
//■メインフォーム
|
18
20
|
public partial class Form1 : Form
|
1
コンパイルが通ることが確認後、再度最新のソースをアップし直しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -17,6 +17,8 @@
|
|
17
17
|
//■メインフォーム
|
18
18
|
public partial class Form1 : Form
|
19
19
|
{
|
20
|
+
//private static UserControl1 _uc1;
|
21
|
+
|
20
22
|
public Form1()
|
21
23
|
{
|
22
24
|
InitializeComponent();
|
@@ -24,12 +26,14 @@
|
|
24
26
|
|
25
27
|
public void button1_Click(object sender, EventArgs e)
|
26
28
|
{
|
29
|
+
//UserControl1.Instance.Show();
|
30
|
+
|
31
|
+
textBox1.Text = "abc";
|
27
32
|
UserControl1.Instance.testc();
|
28
|
-
|
33
|
+
|
29
34
|
}
|
30
35
|
}
|
31
36
|
|
32
|
-
|
33
37
|
//■ユーザコントロール
|
34
38
|
public partial class UserControl1 : UserControl
|
35
39
|
{
|
@@ -46,6 +50,8 @@
|
|
46
50
|
{
|
47
51
|
get
|
48
52
|
{
|
53
|
+
//_instanceがnullまたは破棄されているときは、
|
54
|
+
//新しくインスタンスを作成する
|
49
55
|
if (_uc1 == null || _uc1.IsDisposed)
|
50
56
|
{
|
51
57
|
_uc1 = new UserControl1();
|
@@ -53,9 +59,10 @@
|
|
53
59
|
return _uc1;
|
54
60
|
}
|
55
61
|
}
|
56
|
-
|
57
62
|
|
63
|
+
|
58
64
|
//メインフォームからこの関数を呼んでも、テキストが更新されない
|
65
|
+
|
59
66
|
public void testc()
|
60
67
|
{
|
61
68
|
textBox1.Text = "cde";
|
@@ -69,10 +76,8 @@
|
|
69
76
|
|
70
77
|
|
71
78
|
}
|
72
|
-
|
79
|
+
|
73
80
|
|
74
|
-
|
75
|
-
|
76
81
|
### 試したこと
|
77
82
|
|
78
83
|
同様のボタンをユーザコントロール側に実装すると、期待通りテキストが表示されます。
|