2011-02-18 9 views
1

Winforms UserControl(Visual Studio 2008,3.5 Framework SP1)を作成しました。私は、Visual Studioが適切に処理できる独自のパブリックプロパティをいくつか作成することができました(つまり、フォームデザイナーはプロパティ値の変更に適切に反応します)。WinformsでEnabledプロパティのデザイン時サポートを追加する方法

UserControlのEnabledプロパティに応じて、EnabledプロパティにCheckBoxコントロールを設定したいとします。これはUserControl1.cs下のようになります。

`chkMyCheckbox.Enabled = Enabled` 

私は、ユーザーコントロールのEnabledChangedイベントの下とOnEnabledChangedメソッドをオーバーライドの両方にこれを入れてみましたが、どちらもキャッチしていないようにみえてきました。これはツールボックスのキャッシュの問題ではありません(b/c他のコードの変更が反映されているのがわかります)。

ありがとうございます。 -Alan。

+5

ポイントはありません。ユーザーコントロールを無効にすると、チェックボックスも自動的に無効になります。 –

+0

私はAlanがChecked状態が別のコントロールのEnabled状態に関連付けられているチェックボックスを必要と思っていました。再度質問を読み返すと、Hans Passantの質問に対するコメントは正しいようです。チェックボックスが無効にされている場合、チェックボックスは既にインクルードによって無効にされている必要があります。私は、チェックボックスのEnabledプロパティはtrueを読み取るかもしれないと思うが、userControl.Enabled = falseのとき、UserControl全体が無効になる。 –

+0

明確にするために、無効にしたときにtexboxがどのように灰色になるのか知っていますか?それが単にユーザーコントロールの中に含まれていれば、それはできません。テキストボックスのenabledプロパティを親コントロールのenabledプロパティにバインドするにはどうすればよいですか?私はそれが無効であるように見えるようにしたい(私は機能的にそれが既に実現していることを理解している) – Alan

答えて

0

コントロールがデザインタイムにレンダリングされる方法は、そのコントロールの設計者次第です。コアWin32コントロールは、デザイナーでは、[無効]として表示されません。

関連する問題