質問編集履歴

4

解決

2018/08/26 05:17

投稿

dendenmushi
dendenmushi

スコア98

test CHANGED
File without changes
test CHANGED
@@ -349,3 +349,11 @@
349
349
 
350
350
 
351
351
  デバッグ実行したところFrom1とForm2が同時に現れました。しかしForm2のLabelはLabel1と表示されたままでtestと初期が表示されておらず、かつButton3を押しても変化がありませんでした。
352
+
353
+
354
+
355
+ ###トライ③
356
+
357
+
358
+
359
+ 結果的にForm2側にsetされた値をもとにlabel1.Textに代入して反映させるボタンを作りました。ありがとうございました。

3

アドバイス後に行ったこと2追加

2018/08/26 05:17

投稿

dendenmushi
dendenmushi

スコア98

test CHANGED
File without changes
test CHANGED
@@ -277,3 +277,75 @@
277
277
 
278
278
 
279
279
  ```
280
+
281
+
282
+
283
+ ###アドバイス受けて行ったこと2
284
+
285
+
286
+
287
+ Form1
288
+
289
+ C#
290
+
291
+ ```ここに言語を入力
292
+
293
+ public void Form1_Load(object sender, EventArgs e)
294
+
295
+ {
296
+
297
+ // Form1 りロード時に、Form2を作成
298
+
299
+ form2 = new Form2();
300
+
301
+ form2.X = "test";
302
+
303
+ form2.Show();
304
+
305
+ }
306
+
307
+
308
+
309
+ private void button3_Click(object sender, EventArgs e)
310
+
311
+ {
312
+
313
+ // Label1 が publicである事
314
+
315
+ form2.X = "....";
316
+
317
+ form2.Refresh();
318
+
319
+ }
320
+
321
+ ```
322
+
323
+
324
+
325
+
326
+
327
+ Form2
328
+
329
+ ```C#
330
+
331
+ public string Y { get; internal set; }
332
+
333
+ public string X { get; internal set; }
334
+
335
+
336
+
337
+
338
+
339
+ public Form2()
340
+
341
+ {
342
+
343
+ InitializeComponent();
344
+
345
+ }
346
+
347
+ ```
348
+
349
+
350
+
351
+ デバッグ実行したところFrom1とForm2が同時に現れました。しかしForm2のLabelはLabel1と表示されたままでtestと初期が表示されておらず、かつButton3を押しても変化がありませんでした。

2

インスタンスにプロパティ設定奮闘中…

2018/08/26 02:07

投稿

dendenmushi
dendenmushi

スコア98

test CHANGED
File without changes
test CHANGED
@@ -205,3 +205,75 @@
205
205
  win10
206
206
 
207
207
  visual studio 2017 Community
208
+
209
+
210
+
211
+ ###アドバイス頂いて行ったこと
212
+
213
+
214
+
215
+ Form2
216
+
217
+ ```C#
218
+
219
+ public string Y { get; internal set; }//←追加
220
+
221
+ public string X { get; internal set; }//←追加
222
+
223
+
224
+
225
+ public Form2()
226
+
227
+ {
228
+
229
+ InitializeComponent();
230
+
231
+ }
232
+
233
+ ```
234
+
235
+
236
+
237
+ Form1
238
+
239
+ ```C#
240
+
241
+ private void button2_Click(object sender, EventArgs e)
242
+
243
+ {
244
+
245
+ //Form2 form = new Form2();
246
+
247
+ //form.Show();
248
+
249
+
250
+
251
+ // クラスのインスタンス化とプロパティの設定(従来の書き方)
252
+
253
+ Form2 form = new Form2();
254
+
255
+ form.X = "1";
256
+
257
+ form.Y = "2";
258
+
259
+
260
+
261
+ }
262
+
263
+
264
+
265
+ private void button3_Click(object sender, EventArgs e)
266
+
267
+ {
268
+
269
+ Form2.X = "3";//←オブジェクト参照が必要ですエラー
270
+
271
+        form.X = "3";//←Xの定義が定まっていない
272
+
273
+
274
+
275
+ }
276
+
277
+
278
+
279
+ ```

1

表示に(更新)を追記。

2018/08/26 01:34

投稿

dendenmushi
dendenmushi

スコア98

test CHANGED
@@ -1 +1 @@
1
- C#で親子フォーム同時開きで親画面クリックで親string値を子Labelに表示
1
+ C#で親子フォーム同時開きで親画面クリックで親string値を子Labelに表示(更新)
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  visual studio 2017
4
4
 
5
- windowsフォームでForm1(親画面)とForm2(子画面)が両方開いている状態で、Form1のbutton1をクリックすることで、Form1クリックメソッドによって準備されたstringがForm2に渡り、Form2のLabel1に表示される実装をしたい。
5
+ windowsフォームでForm1(親画面)とForm2(子画面)が両方開いている状態で、Form1のbutton1をクリックすることで、Form1クリックメソッドによって準備されたstringがForm2に渡り、Form2のLabel1に表示(更新)される実装をしたい。
6
6
 
7
7
 
8
8