質問編集履歴

2

試したことを追加

2017/04/05 09:19

投稿

maysc
maysc

スコア11

test CHANGED
File without changes
test CHANGED
@@ -6,6 +6,10 @@
6
6
 
7
7
 
8
8
 
9
+ **ヒント、試してみたらいいこと、検索すべきワード、勉強すべき点**などなんでも良いのでご教示願います。
10
+
11
+
12
+
9
13
  c#でボタンをクリックした時にラベルの文字を変更したいです。
10
14
 
11
15
 
@@ -234,16 +238,14 @@
234
238
 
235
239
  自分なりに調べた結果、スレッドセーフな呼び出しとFormを1つだけ表示させるようにしました。
236
240
 
241
+
242
+
243
+
244
+
245
+
246
+
237
247
  はじめは以下の通り、直接書き換えようとしました。
238
248
 
239
- また、Invokeとdelegateを使ってみましたが、やはり連打すると止まってしまいました。
240
-
241
-
242
-
243
- **ヒント、試してみたらいいこと、検索すべきワード、勉強すべき点**などなんでも良いのでご教示願います。
244
-
245
-
246
-
247
249
  ```c#
248
250
 
249
251
  private void btn_Click(object sender, MouseEventArgs e)
@@ -260,6 +262,46 @@
260
262
 
261
263
 
262
264
 
265
+ Invokeとdelegateを使ってみましたが、やはり連打すると止まってしまいました。
266
+
267
+ ```c#
268
+
269
+ int i1 = 0;
270
+
271
+ delegate void TestDelegate(int i);
272
+
273
+
274
+
275
+ internal void change(int i)
276
+
277
+ {
278
+
279
+ Form2.Instance.lbl_1.Text = Convert.ToString(i.ToString());
280
+
281
+ }
282
+
283
+
284
+
285
+
286
+
287
+ private void button1_MouseDown(object sender, MouseEventArgs e)
288
+
289
+ {
290
+
291
+ i1++;
292
+
293
+ Invoke(new TestDelegate(change), i1);
294
+
295
+ }
296
+
297
+ ```
298
+
299
+
300
+
301
+
302
+
303
+
304
+
263
305
  ###補足情報(言語/FW/ツール等のバージョンなど)
264
306
 
265
307
  Visual Studio 2015で開発しています。

1

注釈の追加

2017/04/05 09:19

投稿

maysc
maysc

スコア11

test CHANGED
File without changes
test CHANGED
@@ -116,7 +116,7 @@
116
116
 
117
117
 
118
118
 
119
- i1++;
119
+ i1++;//4つそれぞれここの動きが違う。増えたり減ったり。
120
120
 
121
121
  wk.bw.RunWorkerAsync(i1);
122
122
 
@@ -190,6 +190,8 @@
190
190
 
191
191
  Form2.Instance.label1.Text = Convert.ToString(result);
192
192
 
193
+ //表示が4つそれぞれ違う。i1のときlabel1,i2のときlabel2..
194
+
193
195
  }
194
196
 
195
197
  catch (Exception ex)
@@ -238,6 +240,10 @@
238
240
 
239
241
 
240
242
 
243
+ **ヒント、試してみたらいいこと、検索すべきワード、勉強すべき点**などなんでも良いのでご教示願います。
244
+
245
+
246
+
241
247
  ```c#
242
248
 
243
249
  private void btn_Click(object sender, MouseEventArgs e)