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;
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器