2

DateTimePicker の MaxDate および MinDate プロパティを設定しました。ただし、実行時にコントロールをテストすると、無効な日付と有効な日付を区別する方法がありません。唯一の違いは、無効な日付をクリックしても何も起こらないことです。

これは、ユーザーにとってあまり直感的ではありません。有効な日付が一目でわかるようにしたい。

有効な日付範囲を強調表示する方法はありますか?または、より適切には、無効な日付を「薄暗くする」方法はありますか? または、より適切な別のコントロールはありますか? いくつかのコンボ ボックスが機能すると確信していますが、日付を尋ねられたときにユーザーにカレンダー コントロールを提示する必要があると思います。

CONTEXT: これは WinForms グラフ作成アプリケーションです。有効なデータの範囲は固定です (新しいデータは別のプロセスを介して追加されます)。ユーザーは、チャートの開始時刻の日付と時刻を選択する必要があります (期間も個別に処理されます)。

4

2 に答える 2

1

同様の問題があります。DateTimePicker コントロールを拡張して、値が変更されるたびに検証プロセスを実行し、不正な選択があった場合は以前の値または最も近い正当な値に戻します。

これに対する論理的な拡張は、警告ダイアログまたはラベルをフラッシュして、これが発生したことをユーザーに通知することです。

コントロールのカレンダー表示部分をオーバーライドして、無効なオプションをハイライト/ローライトすることもできます。たとえば、現在の日付と現在の選択が既にハイライトされています。

于 2008-09-25T14:59:08.900 に答える
0

自分でコントロールを拡張せずに、所有者の描画が手間になるかどうかはわかりません。

後で機能が見つからない場合は、ErrorProvider コントロールを使用し、オプションとしてユーザー入力を検証することを検討します。

于 2008-09-25T14:40:04.797 に答える