winform界面datetimepicker控件value更新问题

1. 背景分析:

最近,在使用多个基于winform控件的自定义控件时,需要统一datetimepicker控件的值,即设置一个控件的时间值后,当切换到其他自定义控件时,时间自动统一为先前已设置的时间值。

多个自定义控件分布在tabcontrol中,不同功能模块切换时,切换tabcontrol的标签。

2.问题:

系统启动后,在第一个自定义控件中,设置datetimepicker的value值,当切换至第二个界面时,先更新已设置好的时间值,然后,切换tabcontrol的页面值,发现设置值无效。

3.原因分析:

系统启动后,当tabcontrol页面未切换显示时,该页面的load函数未执行;执行修改时间后,当切换至该显示界面时,load函数中对控件进行了时间设置,此时变更了已设置好的时间值,从而导致先前设置好的时间无效。

4.解决方法:

综上分析,需要调整设置顺序,且将已设置好的时间值临时存储,防止在界面启动时,修改已设置好的时间值。

           //第一步,存储已设置的时间变量,因为全局变量可能会在界面启动中修改
            DateTime dttemp = ClsSysPara.DataTimeQiBao;
  
            //第二步,切换界面,此时出发页面加载load函数
            this.leeTabControlGongNeng.SelectedIndex = 3;
            
            //第三步,将起报时间恢复至全局变量
            ClsSysPara.DataTimeQiBao = dttemp;

            //第四步,更新界面时间
            ctrlRegion_EC_Ocean.UpdateQiBaoTime();//更新起报时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值