如何以编程方式突出显示 DateTimePicker 中的特定部分?
How to highlight specific portion within DateTimePicker Programmatically?
我有一个 DateTimePicker 控件(自定义格式) 到我的 windows 表单应用程序中,我正在以编程方式生成。
要突出显示其中的特定部分/部分(例如小时),我必须手动单击它。要求我能够以编程方式(而不是通过手动单击)在 DateTimePicker 的特定部分执行此突出显示。
我试过使用 DateTimePicker 控件的事件、方法和其他属性。我也在网上找了又找,也没找到方向。
这里有截图说明:
在这里,在 DataGridView 的单元格上,是我的自定义格式 DateTimePicker。
我终于找到了解决办法。我想分享它,以便将来遇到类似问题的人可以从中受益。
DateTimePicker (DTP) 失去其通常行为的原因是:
- 它是以编程方式生成的,"Added" 作为 GridView 的控件(而不是表单)
因此无法应用 "Select()" 和 "Focus()" 等常规方法。
我只是将 DTP 控件放在窗体上并使其不可见。然后,每当我需要编辑一个单元格时,控件就会覆盖该单元格并将焦点转移到它上面。像普通的 DTP 控件一样,现在它会自动突出显示第一部分,即在我的例子中是小时。
这就是解决方案的本质。休息是处理意外事件。我无法共享代码,因为它是某些客户的产品。
我有一个 DateTimePicker 控件(自定义格式) 到我的 windows 表单应用程序中,我正在以编程方式生成。
要突出显示其中的特定部分/部分(例如小时),我必须手动单击它。要求我能够以编程方式(而不是通过手动单击)在 DateTimePicker 的特定部分执行此突出显示。
我试过使用 DateTimePicker 控件的事件、方法和其他属性。我也在网上找了又找,也没找到方向。
这里有截图说明:
在这里,在 DataGridView 的单元格上,是我的自定义格式 DateTimePicker。
我终于找到了解决办法。我想分享它,以便将来遇到类似问题的人可以从中受益。
DateTimePicker (DTP) 失去其通常行为的原因是:
- 它是以编程方式生成的,"Added" 作为 GridView 的控件(而不是表单)
因此无法应用 "Select()" 和 "Focus()" 等常规方法。
我只是将 DTP 控件放在窗体上并使其不可见。然后,每当我需要编辑一个单元格时,控件就会覆盖该单元格并将焦点转移到它上面。像普通的 DTP 控件一样,现在它会自动突出显示第一部分,即在我的例子中是小时。
这就是解决方案的本质。休息是处理意外事件。我无法共享代码,因为它是某些客户的产品。