ToolStripButton имеет другое поведение при отображении диалогового окна Modal Less

У меня есть главное окно и панель инструментов с различными кнопками управления. В этих командах также есть кнопка «Печать» (см. Ниже). Когда я нажимаю кнопку «Печать», мне нужно отобразить подформу как «Модальный меньше диалогового окна». Потому что у меня мало вариантов для подформы. Если пользователь выберет их, он / она также сможет взаимодействовать с основной формой.

введите описание изображения здесь

Между тем, в методе show () я отключаю все элементы управления в основной форме (см. Ниже), поскольку это будет сделано, если я использую метод ShowDialog () для отображения подформы. Когда я нажимаю кнопку «Печать», цвет меняется, что показывает, что он сфокусирован / выбран.

введите описание изображения здесь

При щелчке появляется дополнительная форма, как показано на рисунке ниже.

введите описание изображения здесь

По логике, он должен вернуться в предыдущий режим, когда я закрою подформу. Но даже подформа отображается ... кнопка «Печать» на главной форме все еще выделена / выбрана. Когда я закрываю подформу, кнопка «Печать» по-прежнему сфокусирована / выбрана, как показано ниже.

введите описание изображения здесь

Какое событие / свойство необходимо изменить, чтобы кнопка «Печать» отображалась как в исходном состоянии.

Я пробовал Invalidate (), изменил BackColor, но еще не выполнил требования. Какие-нибудь рекомендации?


person Itz.Irshad    schedule 19.10.2012    source источник
comment
Вы обрабатываете нажатие кнопки печати - или мышь вниз - или? Покажите, что ваш код обрабатывает это.   -  person John Arlen    schedule 19.10.2012


Ответы (2)


Установите для свойства CheckOnClick вашей кнопки значение false, если вы не хотите, чтобы она вообще отображалась «выбранной», в противном случае переключите свойство CheckState на кнопке, когда подчиненная форма закрыта.

person roken    schedule 20.10.2012
comment
Что ж, ChekOnClick имеет значение false, а CheckState = Unchecked в событии щелчка после нажатия кнопки ToolStripMenuItem. Итак, каковы другие варианты отображения кнопки, не выбранной при срабатывании события щелчка. - person Itz.Irshad; 22.10.2012

Ну, выбранное свойство в ToolStripButton доступно только для чтения. Любой, кому нужно очистить выбор кнопок панели инструментов, может использовать метод ниже, который вызывается через отражения.

MethodInfo method = typeof(ToolStrip).GetMethod("ClearAllSelections", BindingFlags.NonPublic | BindingFlags.Instance);
            method.Invoke(yourToolStripName, null);

Это происходит из: Как отменить выбор ToolStripItems

Удачного программирования.

person Itz.Irshad    schedule 24.10.2012