WPF note on Container Cursor + winform 透明控件尝试补遗
1 Wpf note
新手入门WPF的时候可能会遇到我所遇到的白痴问题:为什么容器的Cursor属性无效?问题的描述可能是这样的:更改了Grid, Canvas等容器控件的Cursor属性后,发现鼠标在其上仍然是默认的Arrow。
这是由于容器的背景默认为透明,而透明部分的事件是无法被捕获的。对于此问题,Cursor的改变依赖于QueryCursor事件,你会发现这个事件在控件被设置为透明时将无法触发。所以解决的方法很简单:为容器设置一个有效的背景色。
2 winform透明尝试补遗
上篇博文中提到“真正透明”控件在winform中的尝试,最后以失败告终,虽然结果不会改变,但忘记了谈论一种特殊的情况:尝试利用MDI制作透明控件。
这个思路是:既然设置控件的Backgroud color只能透明到容器,而Form的transparency key则可以直接透明到桌面,则考虑使用MDI中包含多个设置指定transparency key的MDI children forms,并期待它们能够透明到主窗体(MDI parent),同时我们知道MDI容器的背景可以通过遍历controls集合获取到MDIClient实例中。
然而经过尝试我们绝望的发现,作为MDI child的窗体,其transparency key属性将会失效——还是失败。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界