disable
Form
の全文を入力しますが、テキストボックス、ボタンなどのようにこのForm
要素はそれぞれenabled
のようにしてください。フォームを無効にしますが、各要素を有効にしたままにしておきます。
だから、私は、これらの要素のユーザーの相互作用を遮断するが、それは、標準的な外観、グレーアウトいない保持したいなど
それはちょうど、手動用EnabledChanged
イベントを処理する必要が自動的な方法または1つの種類で行うことができます影響を受ける各コントロール?
disable
Form
の全文を入力しますが、テキストボックス、ボタンなどのようにこのForm
要素はそれぞれenabled
のようにしてください。フォームを無効にしますが、各要素を有効にしたままにしておきます。
だから、私は、これらの要素のユーザーの相互作用を遮断するが、それは、標準的な外観、グレーアウトいない保持したいなど
それはちょうど、手動用EnabledChanged
イベントを処理する必要が自動的な方法または1つの種類で行うことができます影響を受ける各コントロール?
すべてのコントロールでは、「バックカラー」プロパティはデフォルトでウィンドウに設定されています。それらをすべて選択し、同じ外観にするには白(または希望の色)に設定します。 テキストと境界線の色を同じにしたい場合があります。それはあなたが望むカスタマイズのレベルに関するものです。
色を完全に制御するには、色を再描画する必要があります。
protected override void OnPaint (System.Windows.Forms.PaintEventArgs e)
{
if (Enabled)
{
//use normal realization
base.OnPaint (e);
return;
}
//custom drawing
using (Brush aBrush = new SolidBrush("YourCustomDisableColor"))
{
e.Graphics.DrawString(Text, Font, aBrush, ClientRectangle);
}
}
フォームデザイナは、ボタンの 'ForegroundColor'を' White'に、 'BackgroundColor'を' SteelBlue'に手動で設定し、フォームが無効になっても 'ForegroundColor 'ボタンを押します。 'DataGridView'ヘッダでも同じです。 – pitersmx
ok。はい、その場合、必要な色のテキストを再描画する必要があります。それがパフォーマンスと複雑さに基づいて受け入れられるかどうかを分析する必要があります。私は答えに同じコードを追加しています。 – Harsh
@お返事ありがとうございます、残念ながら、そのフォームの各コントロールのペイントメソッドをオーバーライドする必要があります。 – pitersmx
透明イメージでフォームをオーバーレイすることができます – NtFreX
"readOnly"モードとして要素を設定できます。 – Komal
@Komal only textbox – NtFreX