C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: 別のフォームへアクセスして値を取得するには?


(過去ログ 22 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■9824 / inTopicNo.1)  別のフォームへアクセスして値を取得するには?
  
□投稿者/ くまこ (1回)-(2007/11/05(Mon) 18:16:05)

分類:[C#] 

Form1からForm2上のテキストボックスの値を取得したい場合、
たとえばVB.NETでは、

My.Forms.Form2.TextBox1.Text

とすれば取得できるようですが、C#ではどの様にやるのでしょうか?

この様に簡単に取得する方法はなく、インスタンスを作って云々...という手法しか無いのでしょうか?

引用返信 編集キー/
■9828 / inTopicNo.2)  Re[1]: 別のフォームへアクセスして値を取得するには?
□投稿者/ はつね (322回)-(2007/11/05(Mon) 18:32:14)
はつね さんの Web サイト
No9824 (くまこ さん) に返信
> Form1からForm2上のテキストボックスの値を取得したい場合、
> たとえばVB.NETでは、
>
> My.Forms.Form2.TextBox1.Text
>
> とすれば取得できるようですが、C#ではどの様にやるのでしょうか?
>
> この様に簡単に取得する方法はなく、インスタンスを作って云々...という手法しか無いのでしょうか?

VB.NETでも上記の方法ではなく、明示的にインスタンスを作って云々...という手法で行って下さい。
明示的にというように上記の方法でも裏でインスタンスを作って云々...が行われていますが、そのインスタンスが明示的に管理できないためForm2を意図しないタイミングでつかっていてインスタンスが消えないなどという事が発生する原因になります。

また、別フォームのコントロールを直接使うのではなく、別フォームにPublicプロパティなどを用意してそこを経由して設定してあげる事で、Form2でのコントロールの変更の影響をForm1に与えなくて済むようなつくりも実現できます。


引用返信 編集キー/
■9829 / inTopicNo.3)  Re[2]: 別のフォームへアクセスして値を取得するには?
□投稿者/ くまこ (2回)-(2007/11/05(Mon) 18:37:20)
2007/11/05(Mon) 18:37:48 編集(投稿者)

No9828 (はつね さん) に返信
> VB.NETでも上記の方法ではなく、明示的にインスタンスを作って云々...という手法で行って下さい。
> 明示的にというように上記の方法でも裏でインスタンスを作って云々...が行われていますが、そのインスタンスが明示的に管理できないためForm2を意図しないタイミングでつかっていてインスタンスが消えないなどという事が発生する原因になります。
>
> また、別フォームのコントロールを直接使うのではなく、別フォームにPublicプロパティなどを用意してそこを経由して設定してあげる事で、Form2でのコントロールの変更の影響をForm1に与えなくて済むようなつくりも実現できます。
>

素早いレスありがとうございます。

「インスタンスが消えない」というのは「メモリに残ってしまう」ということでしょうか?
メモリ管理に関して知識が浅いため、解放せずにそのまま…ということが多いです。
いけませんね(^^;;

メモリ管理に対して、皆さんどの様に勉強されているんでしょうね…。
もしお薦めな書籍などがありましたら、また教えて下さい。

ありがとうございました。
解決済み
引用返信 編集キー/
■9831 / inTopicNo.4)  Re[3]: 別のフォームへアクセスして値を取得するには?
□投稿者/ はつね (324回)-(2007/11/05(Mon) 18:45:10)
はつね さんの Web サイト
No9829 (くまこ さん) に返信
> メモリ管理に対して、皆さんどの様に勉強されているんでしょうね…。

メモリ管理というよりも、自分でつくったインスタンスは使い終わったら自分で片付ける。
つまり、子供の頃に親に散々言われたであろう「遊び終わったおもちゃはちゃんと片付けなさい」を実践できるかどうかだと思っています。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -