如何确定是否在WinForms上显示用户控件

时间:2019-04-12 11:53:57

标签: c#

我有一个Windows窗体应用程序,并添加了一个菜单以在几个用户控件之间进行操作。我正在使用以下事件:ClickMouseEnterMouseLeave

在每种情况下,我都在更改BackgroudImage,而我想要实现的是,当单击事件后图像确实发生了更改时,图像将保留下来。而且我正在考虑使用用户控件属性来确定他是否被显示(就像我使用的Show()Hide()方法一样。)

尝试使用“可见”,“聚焦”和“启用”属性,但是在隐藏或显示用户控件后,它们均未更改。

如何确定是否显示用户控件?

2 个答案:

答案 0 :(得分:1)

加载控件时,属性 IsHandleCreated 变为true。尝试使用此属性。

参考文档:https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.control.ishandlecreated?view=netframework-4.7.2

答案 1 :(得分:0)

显然,当加载表单时,即使我确实看不到所有用户控件(它们相互之间),默认的Visible属性也设置为True。 因此,我在表单加载事件中添加了show和hide方法,并且visible属性的工作方式类似于Charm。 感谢Franck