DOBON.NET DOBON.NETプログラミング掲示板過去ログ

C# コードからフォームのコントロールを参照したい

分類:[.NET]

はじめまして。C#について質問させてください。
始めて間もないので、おかしい質問かもしれませんが
よろしくお願いいたします。

フォームのコードではないコードから、フォームのコントロールに
アクセスして値を取得/格納したいのですが、どのように記述すれば
よいのでしょうか?(大ざっぱに言うと、どのコードからもフォーム
のコントロールを参照できる。)
ネットで色々と調べてみましたが、VB.NETでの記述方法はいくつか
見つけたものの、C#に関する情報がなくほとほと困っておりす。
情報がないということは、とても基本的なことか、考え方自体が
間違っているのかな、と。。。

すみませんが、よろしくお願いいたします。
> フォームのコードではないコードから、フォームのコントロールに
> アクセスして値を取得/格納したいのですが、どのように記述すれば
> よいのでしょうか?(大ざっぱに言うと、どのコードからもフォーム
> のコントロールを参照できる。)

まず、フォームのインスタンスへの参照を取得または作成します。
これができていれば、後は、その参照を保持した変数(仮にf1とする)を
介して、

f1.TextBox1.Text = "テキスト";

のようにアクセスできます。
ただし、VB.NETの場合は、デザイナで貼り付けたテキストボックスTextBox1は
Friendスコープで宣言されていますが、
C#ではデフォルトではTextBox1に外部からアクセスできないように
privateスコープになっていたと思いますので、internalスコープに
変更する必要があったと思います。
■No505に返信(よねKENさんの記事)
>>フォームのコードではないコードから、フォームのコントロールに
>>アクセスして値を取得/格納したいのですが、どのように記述すれば
>>よいのでしょうか?(大ざっぱに言うと、どのコードからもフォーム
>>のコントロールを参照できる。)

もしかしたら私のサイトのTipsが参考になるかもしれません。

別のフォームのデータを取得、設定する
http://dobon.net/vb/dotnet/form/accessanotherformdata.html

DOBON.NET | プログラミング道 | プログラミング掲示板