powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Точки "фокуса" вокруг контрола - как принудительно убрать?
4 сообщений из 4, страница 1 из 1
Точки "фокуса" вокруг контрола - как принудительно убрать?
    #39403789
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда начинаешь по форме ходить клавиатурой через {TAB} - то вокруг сфокусированного окна-контрола (или его подконтрола напр. в случае Listview) появляется прямоугольник с точками.
Если ходишь мышкой, не появляется.
Это стандартное поведение.
У меня в .Net периодически возникает проблема.
Мышкой еще не ходил, тыкнулся в контрол, а он уже рисует эти мерзкие точки.
Вот и сейчас тыкаюсь в Listview (один конкретный, с другими все нормально), а вокруг итема уже точки.
Подобная проблема типично возникает когда напр. ListView один на форме (некуда перекинуть фокус), добавишь еще контрол - проблема уйдет.
Но у меня контролов много, пытался добавлять -удалять фиктивные - не лечится.
Раньше помню лечил в отдельных случаях, не помню как. Задолбался уже.


Как эти "точки фокуса" принудительно убрать, естественно не нарушая последующего поведения, когда юзер потом взялся за {TAB}?
Есть какая API ф-ция?

Или откуда эта проблема расти может?
...
Рейтинг: 0 / 0
Точки "фокуса" вокруг контрола - как принудительно убрать?
    #39403832
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не то чтоб разобрался, но прибил.
У меня в Listview.Parent....Parent стоит в конструкторе .Visible=False
В Form_Load ListView доинициализируется через API с обращением к его .Handle еще может не существовать на тот момент (це ж .Net, объектная модель мать ее, типа зачем нам окно если мы его не видим), хотя и создается при первом вызове ListView.Handle, ничего страшного как бы не произойдет, но чего нибудь мелкое типа описанного может сглючить.

Вылечил передергиванием родителя который по конструктору .Visible=False
Надо сделать перед первым API обращением к ListView.Handle
Код: vbnet
1.
2.
Listview.Parent....Parent.Visible=True
Listview.Parent....Parent.Visible=False



Вообще в моем другом приложении откуда методично все выдергиваю глюка не было и без этого, но там больше "загрузочного кода", что вероятно "тянуло время".
Но копаться с этим в .Net-кишках желания нет.
...
Рейтинг: 0 / 0
Точки "фокуса" вокруг контрола - как принудительно убрать?
    #39408505
759
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
759
Гость
Дмитрий, как возможно с вами связаться (Заранее извиняюсь за флуд). Не могу найти для VBA рабочего кода электронной подписи сообщений. Прошу вашей помощи. Моя почта 759%mail.ru
...
Рейтинг: 0 / 0
Точки "фокуса" вокруг контрола - как принудительно убрать?
    #39412023
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
759Не могу найти для VBA рабочего кода электронной подписи сообщений. Прошу вашей помощи. Моя почта 759%mail.ru
Если про подписывание e-mail, то
А как используя Net.Mail и CDO.Message подписать отправляемое мыло цифровой подписью?
Я этим занимался давно и боюсь добавить мне нечего. Делал один раз и больше к этому не возвращался.
Net.Mail подписать вряд ли можно.
А вот CDO.Message -да, реально.
Причем с Opaque signing (это когда контент перемешивается с подписью) код очень качественный, а с Clear signing (это когда подпись в конец пристыковывается) -сделан немного на коленках и не универсально, т.е. есть вероятность что придет "бракованное" письмо.
Я делал под .Net (немного используя .Net классы) но с небольшими ньюансами(которые ясны если будешь читать топик) это будет работать под VB6 и наверно под VBA.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Точки "фокуса" вокруг контрола - как принудительно убрать?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]