2

Numeric UpDownコントロールを無効にしても、ユーザーがその値を読み取れるようにしたい。しかし、そのツールの Forecolor や Backcolor を変更することはできません。Enabled/Disabled プロパティの代わりに ReadOnly プロパティを使用しようとしましたが、どちらも機能しません。どうすればこの問題を解決できますか?

4

2 に答える 2

1

VS2005と単純なWinFormsを介して試しました。EnableChangedイベントを入れました

private void numericUpDown1_EnabledChanged(object sender, EventArgs e)
{
   NumericUpDown nud = (NumericUpDown)sender;
   nud.BackColor = nud.Enabled ? Color.Yellow : Color.Red;
}

フォームに別のボタンを追加して、有効な状態を入れ替えるだけです

private void button2_Click(object sender, EventArgs e)
{
   this.numericUpDown1.Enabled = ! this.numericUpDown1.Enabled;
}

基本のNumericUpDownクラスから派生した独自のNumericUpDownクラスを作成し、その中に配置すると、すべてのフォームでこの色の変更を明示的に行うことなく、アプリで使用されるクラスのすべてのインスタンスに対して実行されます。

于 2012-03-20T16:38:15.090 に答える
0

フレーム ワーク コントロールでこの目標を達成する方法はありません。カスタム描画を使用して実装できます。

于 2012-03-20T16:36:59.310 に答える