HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 04.05.2018, 20:39
DaVilka
Постоянный
Регистрация: 29.04.2018
Сообщений: 444
С нами: 4232374

Репутация: 0
По умолчанию

Цитата:
Сообщение от Mizuwokiru  

Вот тут я вряд ли помощник. Хотя 90% нужно идти в документацию Win32 API. Поройся в сторону отрисовки той же кнопки, учитывая стили Windows (так как по дефолту оно не юзает стили).

UPD: Не уверен, поможет ли, так как быстро пробежался глазами, но вот.
А еще, если нажать кнопку, и форма потеряет фокус, то во круг кнопки появляется обводка даже если BorderSize = 0
 
Ответить с цитированием

  #12  
Старый 04.05.2018, 22:44
Mizuwokiru
Постоянный
Регистрация: 07.04.2015
Сообщений: 960
С нами: 5842272

Репутация: 1039


По умолчанию

Цитата:
Сообщение от DaVilka  

А еще, если нажать кнопку, и форма потеряет фокус, то во круг кнопки появляется обводка даже если BorderSize = 0
Как вариант, создать класс-наследник от Button и в конструкторе или в OnPaint`е вызвать:

SetStyle(ControlStyles.Selectable, false);

В этом случае кнопке нельзя будет присвоить фокус, т.е. табом теперь ее не выбирает.

UPD: Если же фокус нужен, то есть еще вариант:

Создаем класс-наследник от Button и переопределяем свойство ShowFocusCues на возвращение false:

protected override bool ShowFocusCues => false;

А в неактивном окне применяется цвет рамки, поэтому задаем цвет рамки прозрачный. Через панель свойств это нельзя сделать почему-то, поэтому идем в код и задаем цвет рамки вручную:

this.button1.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(0, 255, 255, 255);

В этом случае ShowFocusCues запретит показывать рамку вокруг текста при фокусе, а прозрачный цвет поможет визуально избавиться от рамки при потере фокуса окна (хотя сама рамка остается).

Можно еще попробовать поколдовать с GotFocus кнопки и Deactivate окна.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.