c# - 如何以编程方式突出显示 DateTimePicker 中的特定部分?
问题描述
我在以编程方式生成的 Windows 窗体应用程序上有一个DateTimePicker 控件(自定义格式)。
要突出显示其中的特定部分/部分(例如小时),我必须手动单击它。要求我能够以编程方式(而不是通过手动单击)在 DateTimePicker 的特定部分上执行此突出显示。
我尝试过使用 DateTimePicker 控件的事件、方法和其他属性。我也搜索并重新搜索了互联网,但没有找到任何方向。
这是用于说明的屏幕截图:
在这里,在 DataGridView 的单元格上,是我的自定义格式 DateTimePicker。
解决方案
我终于找到了解决方案。我想分享它,以便将来遇到类似问题的人可以从中受益。
DateTimePicker (DTP) 失去其通常行为的原因是:
- 它以编程方式生成并“添加”为 GridView 的控件(而不是表单)
因此,无法应用“Select()”和“Focus()”等常规方法。
我只是将 DTP 控件放在表单上并使其不可见。然后,每当我需要编辑一个单元格时,控件就会覆盖该单元格并将焦点转移到它。像普通的 DTP 控制一样,现在它会自动突出显示第一部分,即在我的情况下的小时。
这是解决方案的本质。休息是处理意外事件。由于它是某些客户的产品,我无法共享代码。
推荐阅读
- jakarta-ee - jee 服务器 jboss 和 wildfly 的任何 JEE OIDC 代理?
- bigdata - 如何通过聚合和累积来简化管道?
- sympy - 如何执行选择两个项目而不替换的乘法规则?
- java - 如何在单元测试调用的服务类方法中读取spring boot属性文件
- python - Python:如何在允许方法内修改的同时重用基本方法?
- keras - 用 Eli5 库解释 LSTM keras
- verilog - 从按钮中记住一个值
- fastcgi - FastCGI 在没有库的情况下处理多个请求
- solr - 尽管两个查询看起来具有相同的逻辑,但 Solr 查询返回不同的结果
- vb.net - 从 Hwnd 检索文本并释放分配的内存空间