• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C#のtextBox1への書込に関する質問)

C#のtextBox1への書込に関する質問

このQ&Aのポイント
  • Class1のtestを介して、textBox1への表示は可能ですか?
  • C#(VS2013)のtextBox1への書込に関する質問です。
  • 『textBox1.Text=str;』による、textBox1の書き込みは、『button1_Click』の中から、直接『//write_textBox1("aaa"); 』を実行すれば出来ます。しかし、Class1のtestを介して、『write_textBox1("bbb");』を実行した場合にはtextBox1に表示が出来ません。尚、Consoleには、何れの場合にも表示出来ます。

質問者が選んだベストアンサー

  • ベストアンサー
  • oboroxx
  • ベストアンサー率40% (317/792)
回答No.2

Class1にForm1型のプロパティを作成し、そのプロパティにClass1 objを作成した時にthisを渡して保存し、Class1の方でそれを参照しましょう。

bakabon_X
質問者

お礼

>Class1にForm1型のプロパティを作成し、そのプロパティにClass1 objを作成した時にthisを渡して保存し、Class1の方でそれを参照しましょう。 <---丁寧、明快な回答有難うございます。 まだ、十分理解できませんが、後はなんとか、やっています。 詰まり、方向が解りましたので。

その他の回答 (1)

  • oboroxx
  • ベストアンサー率40% (317/792)
回答No.1

クラスのことがわかっていないと思います。 thisとはどういうものかおわかりでしょうか? button1_Click()のなかでのwrite_textBox1("aaa")を呼び出すと、write_textBox1()内で呼ばれるtextBox1.Textはthis.textBox1.Textを呼び出しており、このthisはForm1が呼び出された時のインスタンスであります。つまり画面上に表示されているForm1です。 一方Class1のインスタンスを作って、obj.test()を読んでいるところはbbb()を呼び出しており、bbb()のなかではForm1 obj = new Form1()で新しいインスタンスを作っています。このobjは画面に表示されているForm1のインスタンスとは別物です。 なのでobj.write_textBox("bbb")を実行すると、その中で呼ばれているtextBox1.Textはthis.textBox1.Textなので、このthisはobjのことであり、このobjは表示されているForm1とは別物なので、画面では表示されません。 画面に表示されていないobjのtextBox1.Textに書き込まれています。 頑張ってください。

bakabon_X
質問者

補足

毎度、お世話になります。 >bbb()のなかではForm1 obj = new Form1()で新しいインスタンスを作っています。このobjは画面に表示されているForm1のインスタンスとは別物です。 <--了解しました。 objは画面に表示されているForm1のインスタンスを指すobjを 作る方法はありませんか? もし、有れば、お教えください。 以上、宜しくお願いします。