0

プログラムのブール値の状態に応じて、特定のボタン/テキストフィールドをグレー表示しようとしています。ブール値は、サブシステムへの接続がまだ稼働しているかどうかを追跡します。接続するまでfalseに初期化され、その後、番犬がそれ以降更新を続けます。

これはプログラムの実行中に何度も発生する可能性があるため、ブール値の状態を監視し、必要に応じてGUI/ボタンのプロパティを更新するだけのモニターを作成したいと思います。

私の最初の考えは、このためのある種のイベントハンドラーを作成することでしたが、検索で、これをさらに簡単にする可能性のある「プロパティ」と呼ばれるものをC#で見つけました。残念ながら、この手法に関する大量の情報を見つけることができませんでした(ここの最初のスレッド:変数の値が変更されたときにイベントをトリガーする方法は?

だから私はあなたがこれを行うための最良の方法のアイデアを私に与えることができるかもしれないという希望を持ってあなたの人々に来ました。

ありがとう、

編集::それが重要かどうかはわかりませんが、ブール値は外部として宣言されています。多くの場合、クラス間で通信するときにオブザーバーパターンが使用されることに気付いたので、これにより作業が簡単になる可能性があります。これは、この問題では問題になりません。

4

2 に答える 2

1

C#プロパティは、オブジェクト内の変数を取得/設定するための特殊な構文を提供するだけです。これらは単なる特殊なメソッドであるため、他の機能を追加することができます。あなたが説明したことから、私はおそらくリスナーと一緒に行くことをお勧めします...アクションリスナーは「オブザーバー」と呼ばれるパターンを使用します。これはこの場合にあなたがやろうとしていることにぴったりです。あなたはグーグルの「オブザーバーパターン」を使うことができます、そしてあなたはそれを使う方法についてもっと多くの情報を得て、あなたがするかもしれないししないかもしれないあなた自身の変種を作成するでしょう:)

幸運を!

于 2012-08-06T20:41:08.567 に答える
0

簡単な例を挙げましょう。

button1.IsEnabled = false;

ボタンまたはテキストフィールドを無効にするには、それを行う必要があります。

于 2012-08-06T20:44:59.173 に答える