2012-05-03 15 views
1

ユーザーが値を入力できるようにするプログラムを作成し、その値が一定量を超えると、別のフォームにあったボタンを無効にします。しかし、どのようにボタンコントロールにアクセスするのかわからない。私はそれがこのようなものになると思った? Thanxボタンのクリックを無効にしたい

if(value>120) 
{ 
    Form3 form3 = new Form3(); 
    Button.Disable(); 
    this.close(); 
} 
+2

ボタンには「無効」プロパティがあります。これをtrueに設定します。人々があなたを助けてくれるようにするには、さらに多くの質問を受け入れるべきです。 –

+6

@JonathanWoodあなたはそれを後方に持っています。ボタンには 'Enabled'プロパティがあります。 – LarsTech

+0

違うフォームのボタンでなければなりませんか?あなたは名前でフォームを知っていますか?つまり、既にそれを指している 'Form3'変数がありますか? –

答えて

3

- 私はフォームがすでに存在すると仮定することを読んでから。新しいインスタンスを作成することにより:

Form3 form3 = new Form3(); 

あなたはForm3の新しいインスタンスを作成しているので、あなたはすでに見えていたフォーム上のボタンを無効にすることは決してないだろう。

インスタンスForm3であることを認識して、現在のフォームに何か変更できるようにする必要があります。 INGの作成またはShow()Form3のインスタンスへの参照を提供する別のオブジェクトに

  • ストア、これらの値をして、あなたのフォームを例
  • のイベントを通じて変化に反応します:ここでは、それらが相互作用させるためにいくつかの方法があります「この」フォーム
  • はまた、あなたのエンドユーザーを混乱させ、同時にアクティブに関連する複数のフォームを持つ心に留めておく静的クラスに

をそれぞれ作成したフォームへの参照をしてください。

0

私はこのようなことをしなければならないと思います。

更新

if(value>120) 
{ 
Form3 form3 = new Form3(); 
form3.Button.Enabled = false; 
this.close(); 
} 

更新あなたの要求は別の形でたボタンを無効にすることです

+0

私はこれを試しましたが、右の@CAbbottという形のボタン情報を – Hashey100

+0

から取得しません。 –

1

あなたはこのようにボタンを無効にすることができます

otherForm.Button.Enabled = false; 

は、別のコンテキスト(フォーム)から、このボタンを無効にすることができるようにするには、パブリックとして宣言する必要があります。

  • あなたは無効なボタンを持つフォームを表示することができますプロパティウィンドウで
  • パブリックその後

修飾子にを設定し、デザインビューでボタンを選択:次のようにこれを行うことができますように:

var newForm = new Form3(); 
newForm.Button.Enabled = false; 
newForm.Show(); 
1

への参照が必要ですForm3ののインスタンス。あなたはおそらくあなたが望んでいないForm3の新しいインスタンスを作成しています。次に、Form3は興味のあるボタンをパブリックプロパティとして公開し、クラスの外からアクセスできるようにする必要があります。次に、Disabledプロパティをtrueに設定する必要があります。