Я пытаюсь смоделировать поведение раскрывающегося списка ComboBox (или других раскрывающихся списков в этом отношении, включая контекстные меню), где раскрывающийся список закрывается, когда вы щелкаете в другом месте, даже на чем-то, что не может быть сфокусировано.
Я пытался подписаться на такие события, как MouseCaptureChanged, LostFocus и Leave. У меня есть пользовательский элемент управления UserControl, который действует как раскрывающийся список, и я просто хочу закрыть его, когда пользователь щелкает в другом месте.
Это похоже на то, что делается во многих элементах управления, поэтому я был бы удивлен, если бы не было простого способа сделать это.
Пока что слишком сложные методы, которые я могу придумать для этого, используют pinvoke и функцию SetCapture () или для создания MessageFilter. Если это единственные варианты, я не уверен, что лучше.