6

TextBox非アクティブなコントロール(など)の背景色として使用されている色を取得する方法はWindowsにありますか?またはさらに良いことに、境界線の色も?

これはWindowsフォーム用であり、で適切なものを見つけることができませんでしたSystemColors。そのような事はありません

適例。保持するテキストに対して十分な大きさではない可能性があるテキストボックスがあり、無効になっています。無効にすると、ユーザーはスクロールしてテキスト全体を表示できなくなり、明らかな理由でツールチップを表示することもできなくなります。

だから私が今やったことは、ツールチップを表示し、コントロールをスクロール可能にすることができるTextBox'ReadOnlyプロパティを設定することです。trueクライアントは、テキストボックスが無効になっているように見せたいと考えています。それはまだ編集できるように見えるReadOnlyので、かなり厄介なプロパティです。ですから、適切な背景色を入れるだけで、ほとんどのユーザーをだますことができるのではないかと思いました。そのフォームには他の無効なコントロールもあり、色の違いがおそらく指摘されるため、任意のグレー値を使用することはできません。それで、無効にされたコントロールがどのようにレンダリングされるかを知る方法はありますか?ここでは、背景色と境界線の色、または少なくとも前者で十分なはずですが、推測はしません。問題のプラットフォームは、おそらくXPとVistaの両方であり、テーマがある場合とない場合があります。

ETA:無視してください。質問はばかげていて、私に代わって私が以前に見つけたはずのエラーでした。1つのTextBoxが灰色の背景に付着しないのは少し奇妙でした。

4

2 に答える 2

25

無効にすると、テキストボックスの背景色SystemColors.Controlと前景色が表示されますSystemColors.GrayText

于 2009-12-10T16:44:11.290 に答える
4

これを試して:

        treeView1.EnabledChanged += (s, o) =>
            {
                treeView1.BackColor = treeView1.Enabled ? Color.White : SystemColors.Control;
            };
于 2012-09-10T01:31:57.967 に答える