正しく認識された場合、チェックボックスをオフにしているときに[enabledプロパティを使用して]パネルを無効にすると、パネル内の項目が無効になります。パネル内のすべての項目を個別に無効にする必要はありません。同様に、パネルを再び有効にすると、子コントロールが再び有効になります。
myPanel.Enabled = false; //Child controls disabled
myPanel.Enabled = true; //Child controls enabled
また、使用してパネル内の各制御を繰り返すことができます:
foreach(Control control in myPanel)
{
//Assume for the purpose of demonstration
//that each control within myPanel has an
//"Enabled" property
control.Enabled = myPanel.Enabled;
}
これは、パネルのそれと一致するように、パネル内の各コントロールのEnabledプロパティを設定します - 本当に、これはに黒字でありますしたがって、それは本当に望ましいことではありません。私はデモの目的でこの方法を提供しました。
編集:これはあなたがパネルのコントロールのコレクションを公開するユーザーコントロールにプロパティを追加することができ、ユーザーコントロールのためのロブの設計によって[例えば]拡張することができます
public Control[] Controls
{
return controlPanel.Controls;
}
これでしょう、本質的にコントロールのパネルコントロールをユーザーコントロール外から変更できます。ユーザーコントロール内のパネル定義にコントロールを割り当てる必要はありません。
あなたのソリューションがうまく動作するために*必要な* Ajaxはありませんが、それはちょっと使いやすくなります。 – BenAlabaster
私はいつも自分のユーザーに親切であると非難されています。 –
+1これを実装する方法の良い例については、 – BenAlabaster