• ベストアンサー

C#でボタンの参照範囲をコードでpubicにしたい

現在Form1のボタンをクリックしたらForm2のボタンのEnableをfalseにするという簡単なプログラムを作っています。 これをするためには、一度Form2ボタンのプロパティのModifiersをpublicに変更しなくてはならないですが、これをプログラムのコードではどのように書けば良いのでしょうか。 要は、button1のModifiersをpublicにするプログラムコードが分かりません。 ご存知の方がいらっしゃいましたら、どうかご教授のほどお願いいたします。 以上、よろしくお願いいたします。

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

  • ベストアンサー
回答No.2

書き忘れましたが、C#の質問は ソフトウェア より [技術者向] コンピューター > プログラミング のカテゴリのほうが適してると思います。

その他の回答 (1)

回答No.1

C#の言語仕様上、無理です。 button1を最初からpublicで定義しておけば簡単にEnableにアクセスできますが、まあやらないでしょう。 間接的にアクセスする手段を作ります。 (1)Form2 に Button1Enabled のような Enabledの値を設定するプロパティを作る (2)Form2 に EnableButton1(), DisableButton1() のようなEnabledを切り替えるメソッドを作る (3)Form2 に SetButton1Enabled(bool value) のような Enabledの値を設定するメソッドを作る など。 (1)が楽だと思います。 // Form2にプロパティを定義する public bool Button1Enabled { // button1.Enabledの値を設定する set { this.button1.Enabled = value; } } これをForm2のほうに定義しておいて、Form1のほうから例えば次のように使います。 Form2 frm2 = new Form2(); frm2.Show(); frm2.Button1Enabled = false; プロパティの使用 (C# プログラミング ガイド) http://msdn.microsoft.com/ja-jp/library/w86s7x04%28v=vs.90%29.aspx

参考URL:
http://msdn.microsoft.com/ja-jp/library/x9fsa0sw%28v=vs.90%29.aspx

関連するQ&A

専門家に質問してみよう