フォームで DateTimePicker を使用したいのですが、ユーザーが DropDown のみで日付を選択する必要があり、DateTimePicker 自体での選択を無効にしようとしています (たとえば、KeyUp/Down を押すことによって)。
//this.dtp_datum_pracVykaz.ValueChanged += new System.EventHandler(this.dtp_datum_pracVykaz_ValueChanged);
this.dtp_datum_pracVykaz.DropDown += dtp_datum_pracVykaz_DropDown;
this.dtp_datum_pracVykaz.CloseUp += dtp_datum_pracVykaz_CloseUp;
どこ
void dtp_datum_pracVykaz_DropDown(object sender, System.EventArgs e)
{
this.dtp_datum_pracVykaz.ValueChanged += new System.EventHandler(this.dtp_datum_pracVykaz_ValueChanged);
}
void dtp_datum_pracVykaz_CloseUp(object sender, System.EventArgs e)
{
this.dtp_datum_pracVykaz.ValueChanged -= new System.EventHandler(this.dtp_datum_pracVykaz_ValueChanged);
}
問題は、DTP が有効になっているため、ユーザーは DropDown なしで日付を変更できることです (ただし、効果はありません)。DTP.Enabled = False; のようなものが必要です。ただし、ドロップダウンのアイコンを有効にする必要があります。