#c#
#c#
Вопрос:
У меня есть приложение Windows forms, и я добавил меню для маневрирования между несколькими пользовательскими элементами управления. Я использую события: Click
, MouseEnter
и MouseLeave
.
В каждом случае я меняю BackgroudImage, и я хочу добиться того, чтобы, когда изображение изменилось после события click, изображение осталось. И я думал использовать свойства пользовательского элемента управления, чтобы определить, отображается он или нет (поскольку я использую методы Show()
and Hide()
).
Пробовал использовать свойства Visible, Focused и Enabled, но ни одно из них не изменилось после скрытия или отображения пользовательского элемента управления.
Как я могу определить, отображается ли пользовательский элемент управления или нет?
Комментарии:
1.
.Show()
и.Hide()
оба фактически изменяют толькоVisible
свойство элемента управления. Если это не изменится, вы делаете что-то еще с элементами управления.
Ответ №1:
Свойство IsHandleCreated получает значение true при загрузке элемента управления. Попробуйте использовать это свойство.
справочный документ :https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.control.ishandlecreated?view=netframework-4.7.2
Ответ №2:
По-видимому, при загрузке формы для свойства Visible по умолчанию устанавливается значение True, хотя я действительно не вижу все пользовательские элементы управления (они находятся друг на друге). Итак, я добавил метод отображения и скрытия в событие загрузки формы, и свойство visible работает как шарм. Спасибо Franck