Winform笔记

1、用户控件的子控件不刷新

场景:创建一个用户控件用于显示Label信息,在主窗口上添加这个用户控件,然后在非UI线程中更新数据后使用SynchronizationContext.Post更新用户控件中的Label。

现象:用户控件中的Label不更新,在日志中打印该Label的值,其实是最新值。

解决方法:使用SynchronizationContext.Post更新用户控件中的Label后,调用用户控件的Refresh方法刷新该用户控件,Label更新后的文本就显示出来了。

原因:由于是在窗口类中设置userControl.label.Text的值,userControl没有刷新导致其子控件的内容没有刷新,就表现为异步刷新UI失败了。

2、窗口最大化覆盖任务栏

在窗口类(Load事件处理)中设置如下代码:

MaximumSize = new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
FormBorderStyle = FormBorderStyle.None;
WindowState = FormWindowState.Minimized;

 

posted @ 2024-01-24 18:24  xhubobo  阅读(19)  评论(0编辑  收藏  举报