首页 > 解决方案 > Winforms DateTimePicker 下拉列表在第一次打开时未显示正确的 maxdate 范围

问题描述

我有 2 个日期时间选择器。如果 dtp1 值发生变化,则 dtp2 maxdate 应该更新(并限制 dtp dropdown 的选择)。但是,当 dtp1 值更改并且我打开 dtp2 下拉菜单时,它会显示旧的 maxdate。只有当我关闭 dtp2 下拉菜单并重新打开它时,对话框才会改变。

当打开 dtp2 下拉菜单时,这个 valueChanged 被调用(通过调试器确认)并设置了 maxdate。所以我相信这已经足够了,(但没有奏效)。

    private void dtp2_ValueChanged(object sender, EventArgs e)
    {
        dtp2.Maxdate= dtp1.Value;
    }

我尝试过的事情。

dtp1.Select();
SendKeys.Send("%{DOWN}"); //simulating key presses is hacky and somthing I want to avoid if possible.

dtp1.Invalidate(); 
dtp1.Refresh(); 

标签: c#.netwinformsdatetimepicker

解决方案


推荐阅读