Отправляет email-рассылки с помощью сервиса Sendsay

За 2022-09-12

[prg] WindowsForms: доступность MenuStrip

Mai omentaina, illi!
Народ, а вдруг кто-то знает?
Дисклеймер: когда я описываю вывод скринридера, мой основной источник
- это JAWS.
В WindowsForms более старых версий (которые ещё .Net Framework) есть
два элемента управления, с помощью которых можно сделать строку меню:
MainMenu и MenuStrip. Их элементы, соответственно, задаются
контролами MenuItem и ToolsTripMenuItem. MainMenu ведёт себя точно так же, как обычная
классическая строка меню, написанная на чистом WinAPI или каком-нибудь
MFC. MenuStrip же отображается как-то странно, начать с того, что
каждый пункт ("Файл", "Правка" etc.) снабжается фразой
"submenu"/"подменю", как будто это не строка меню, а вертикальное
контекстное меню с подпунктами. Есть и ещё странности, но уже мелкие.
Microsoft крайне не рекомендует использовать старые контролы и вовсе
убрали их из .Net новых версий типа .Net 6. При этом новые версии
.Net предлагают более новые версии языка C#, текущую поддержку, да и
вообще старые версии могут перестать поддерживаться в любой момент.
Вопрос: можно ли как-то сделать так, чтобы MenuStrip вёл себя, как
нормальная строка меню? Пробовал
MyMainMenu.AccessibleRole = "MenuBar";
ничего не меняется.
Спасибо заранее.

   2022-09-12 23:33:49 (#3690222)

[prg] Re: wxpython. Перемещение между кнопками с помощью табулятора

Mai omentaina, Грызунов Александр!

ГА> После подписи представлен код программы с gui, написанный с помощью
ГА> wxpython и который создаёт окно и две кнопки.
Во-первых, я бы поместил кнопки в sizer, а sizer добавил на panel (это
рекомендуемый способ написания основных окон в wxPython). Тогда вам не
нужно было бы мерзостным образом считать пиксели и устанавливать
абсолютную позицию контролов. Во-вторых, я бы поставил фокус на
родительский элемент, как-то так:
myPanel.SetFocus()
У меня обычно срабатывало. И да, если этого не сделать, может вылезти
вот такая проблема.
Плюс я бы не советовал задавать вручную айдишники контролов -
намучаетесь. Используйте wx.ID_ANY.

   2022-09-12 00:21:42 (#3690202)