Я заметил некоторые странные взаимодействия форм при использовании ContextMenuStrip
или MenuStrip
. Я действительно не знаю, что вызывает это, поэтому следующее должно создать повторяемый тест для всех, кто изучает это:
Я создал две формы Windows Forms: Form1
и Form2
. К обоим добавлено MenuStrip
. Оба установлены на StartPosition
= CenterScreen
.
Form1
имеет простое меню, подобное этому: Form2 > Open
. Нажатие «Открыть» запустит Form2
.
Form2
имеет простое меню, подобное этому: Try to open > anotherTestMenuItem
- Запустите программу.
Form1
открывается. - Откройте
Form2
изForm1
(т.е. нажмитеForm2 > Open
). Form2
появляется.- На
Form2
попробуйте открытьMenuStrip
(нажмитеTry to open
).Form1
снова появится поверхForm2
, хотяForm2
все еще находится в фокусе (это можно увидеть, если немного сдвинутьForm2
перед попыткой открыть меню).
Если я установлю владельцем Form2
значение Form1
, Form2
останется видимым при выполнении шага 4, но меню не отобразится в первый раз. Все последующие клики кажутся нормальными.
Я заметил это, когда пытался открыть контекстное меню (в форме, открытой другой формой), и оно сразу исчезало, но только в первый раз. Каждый раз после этого он открывался нормально.
У кого-нибудь есть идеи о том, что происходит?