質問編集履歴
2
試したことを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
初心者です。
|
3
3
|
単純なミスか根本的な部分での勘違いだと思うのですが…例外がスローされて困っています。
|
4
4
|
|
5
|
+
**ヒント、試してみたらいいこと、検索すべきワード、勉強すべき点**などなんでも良いのでご教示願います。
|
6
|
+
|
5
7
|
c#でボタンをクリックした時にラベルの文字を変更したいです。
|
6
8
|
|
7
9
|
Form1とForm2があります。
|
@@ -116,11 +118,10 @@
|
|
116
118
|
try catchも書いてみましたが特に何の反応もありません。
|
117
119
|
|
118
120
|
自分なりに調べた結果、スレッドセーフな呼び出しとFormを1つだけ表示させるようにしました。
|
119
|
-
はじめは以下の通り、直接書き換えようとしました。
|
120
|
-
また、Invokeとdelegateを使ってみましたが、やはり連打すると止まってしまいました。
|
121
121
|
|
122
|
-
**ヒント、試してみたらいいこと、検索すべきワード、勉強すべき点**などなんでも良いのでご教示願います。
|
123
122
|
|
123
|
+
|
124
|
+
はじめは以下の通り、直接書き換えようとしました。
|
124
125
|
```c#
|
125
126
|
private void btn_Click(object sender, MouseEventArgs e)
|
126
127
|
{
|
@@ -129,5 +130,25 @@
|
|
129
130
|
}
|
130
131
|
```
|
131
132
|
|
133
|
+
Invokeとdelegateを使ってみましたが、やはり連打すると止まってしまいました。
|
134
|
+
```c#
|
135
|
+
int i1 = 0;
|
136
|
+
delegate void TestDelegate(int i);
|
137
|
+
|
138
|
+
internal void change(int i)
|
139
|
+
{
|
140
|
+
Form2.Instance.lbl_1.Text = Convert.ToString(i.ToString());
|
141
|
+
}
|
142
|
+
|
143
|
+
|
144
|
+
private void button1_MouseDown(object sender, MouseEventArgs e)
|
145
|
+
{
|
146
|
+
i1++;
|
147
|
+
Invoke(new TestDelegate(change), i1);
|
148
|
+
}
|
149
|
+
```
|
150
|
+
|
151
|
+
|
152
|
+
|
132
153
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
133
154
|
Visual Studio 2015で開発しています。
|
1
注釈の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -57,7 +57,7 @@
|
|
57
57
|
if (wk.bw.IsBusy != true)
|
58
58
|
{
|
59
59
|
|
60
|
-
i1++;
|
60
|
+
i1++;//4つそれぞれここの動きが違う。増えたり減ったり。
|
61
61
|
wk.bw.RunWorkerAsync(i1);
|
62
62
|
}
|
63
63
|
}
|
@@ -94,6 +94,7 @@
|
|
94
94
|
{
|
95
95
|
//ここで例外が発生する
|
96
96
|
Form2.Instance.label1.Text = Convert.ToString(result);
|
97
|
+
//表示が4つそれぞれ違う。i1のときlabel1,i2のときlabel2..
|
97
98
|
}
|
98
99
|
catch (Exception ex)
|
99
100
|
{
|
@@ -118,6 +119,8 @@
|
|
118
119
|
はじめは以下の通り、直接書き換えようとしました。
|
119
120
|
また、Invokeとdelegateを使ってみましたが、やはり連打すると止まってしまいました。
|
120
121
|
|
122
|
+
**ヒント、試してみたらいいこと、検索すべきワード、勉強すべき点**などなんでも良いのでご教示願います。
|
123
|
+
|
121
124
|
```c#
|
122
125
|
private void btn_Click(object sender, MouseEventArgs e)
|
123
126
|
{
|