[英]How to determine if User Control is shown or not on WinForms
我有一个Windows窗体应用程序,并添加了一个菜单以在几个用户控件之间进行操作。 我正在使用以下事件: Click
, MouseEnter
和MouseLeave
。
在每种情况下,我都在更改BackgroudImage,而我想要实现的是在click事件之后图像发生更改时,图像将保持不变。 我当时正在考虑使用用户控件属性来确定他是否被显示(就像我正在使用Show()
和Hide()
方法一样)。
使用“可见”,“聚焦”和“启用”属性进行了尝试,但是在隐藏或显示用户控件后,它们均未更改。
如何确定是否显示用户控件?
加载控件时,属性IsHandleCreated变为 true。 尝试使用此属性。
参考文档: https : //docs.microsoft.com/zh-cn/dotnet/api/system.windows.forms.control.ishandlecreated?view=netframework-4.7.2
显然,在加载表单时,即使我确实看不到所有的用户控件(它们彼此是一个),默认的Visible属性也设置为True。 因此,我在表单加载事件中添加了show和hide方法,并且visible属性的工作方式类似于Charm。 感谢Franck
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.