проблема с GUI с использованием C # - PullRequest
0 голосов
/ 08 февраля 2009

в начале моего приложения я отключил некоторые кнопки и в соответствии с некоторыми условиями эти кнопки стали активными. Моя проблема в том, что когда пользователь нажимает на кнопку, он выполняет мое действие, его цвет становится серым, и когда я снова отключаю его. для более подробного объяснения:

button.Enabled = false;

если (условие) {button.enabled = true; }

// пользователь нажал на кнопку

// сделать функцию кнопки

button.Enabled = false; // здесь цвет кнопки становится серым, и я не хочу, чтобы это отношение, я хочу, чтобы он был включен, когда в начале приложения, когда все кнопки отключены, его цвет аналогичен фону кнопки. Так почему этот цвет?

Ответы [ 4 ]

1 голос
/ 08 февраля 2009

Я не совсем уверен, что правильно прочитал вашу проблему, но мне кажется, может быть, вы хотите что-то вроде этого:

button.Enabled = Condition; // Initial value


// user clicked on button
button.Enabled= false; 
 ... do button's function ...
button.Enabled = Condition

Это должно восстановить состояние кнопки, как до щелчка, в основном просто отключить ее во время обработки.

1 голос
/ 08 февраля 2009

Отключенное состояние для большинства элементов управления winform в основном фиксируется набором элементов управления Win32. Если вам это не нравится, то либо:

  • не на самом деле отключите его - просто измените цвет вручную, отключите табуляцию и игнорируйте щелчки, пока он "отключен"
  • использовать WPF, который имеет совершенно отдельную реализацию и не страдает от корней Win32
  • написать свой собственный элемент управления с нуля (не трогайте Win32)
  • использовать сторонние кнопки управления
0 голосов
/ 08 февраля 2009

У меня раньше были похожие проблемы с TextBox. Лучший способ избежать этой проблемы - просто сбросить цвет после отключения кнопки.

var color = button.BackgroundColor;
button.Enabled = false;
button.BackgroundColor = color;

http://blogs.msdn.com/jaredpar/archive/2007/02/12/readonly-textbox-that-doesn-t-look-funny.aspx

0 голосов
/ 08 февраля 2009

Изменить цвет после отключения кнопки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...