【发布时间】:2013-04-08 11:11:35
【问题描述】:
我想在我的表单中使用 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;但必须启用 DropDown 的图标。
【问题讨论】:
-
这意味着您希望 Dropdown 有一个按钮,该按钮只会处于活动状态,而不是整个 Dropdown。这样,用户就不能输入任何值。对吧?
-
你可能误解了我的意思。我希望 datetimepicker 不能选择/更改,另一方面我希望包含下拉日历图标的控件部分处于活动状态,因此用户可以放下整个日历并在那里选择日期。
-
啊……好的……现在明白了……谢谢
标签: c# .net winforms controls datetimepicker