2009-03-02 4 views
1

Моя проблема: когда мое приложение открыто, я отключу все кнопки (в form_Load), и их цвет изменится на цвет фона. Но затем я делаю некоторые действия (например, нажатие на кнопку), и в этом действии я снова отключу кнопки.Почему мои отключенные кнопки меняют цвет?

Теперь некоторые из этих кнопок становятся серыми, а другие становятся в качестве фона.

Почему это? Мне не нужен серый эффект. Обычно, когда я выключаю кнопку в начале приложения, она становится цветом, который я ожидаю, но когда я пытаюсь отключить их снова, это странное поведение появилось. Что делать?

Мой код, как:

private void _btnDownload2PC_Click(object sender, EventArgs e) 
{ 
    // do action 
    _btnDownloadToPC.Enabled=false; // its color became gray 
    _btnDownloadToPhone.Enabled=false; // its color became like the 
             // background color and it can't 
             // be pressed 
} 

я понял, что проблема, когда я использую button_MouseLeave() или button_MouseMove() функции. Например:

private void _btnOneToCort_MouseLeave(object sender, EventArgs e) 
{ 
    this._btnOneToCart.Image=global::MyProject.Properties.Resources.button3over; 
} 

но это не имеет смысла. Почему эта функция меняет настройки моей кнопки (я не знаю, что это такое) Когда я использую эти функции, это странное поведение появляется, но когда я этого не делаю, все идет правильно?

+0

Можете ли вы разместить образец кода? – cjk

+0

private void _btnDownload2PC_Click (отправитель объекта, EventArgs e) {// do action _btnDownloadToPC.Enabled = false; // это цвет стал серым _btnDownloadToPhone.Enabled = false; // цвет стал как цвет фона, и его нельзя нажать ... и т. д. } – BDeveloper

+0

Можете ли вы поместить это в свой вопрос? Вы можете редактировать свои материалы. – Tomalak

ответ

0

Почему бы не отключить кнопки в дизайнере? Если это неприемлемо, сделайте это в конструкторе формы не Form_Load.

Кроме того, как вы можете нажимать на кнопку, если она отключена?

Устанавливаются ли настройки цвета по умолчанию? Вы изменили настройки цвета темы в Windows?

+0

Я нажимаю на кнопку, когда она активирована после определенного действия, но когда я отключу ее снова, это поведение произошло. также моя проблема не в том, когда я открываю приложение только, но также когда пытаюсь использовать и кнопку (чтобы щелкнуть по нему), а затем попытайтесь выставить его. Каковы предпочтения цветового оформления темы для Windows? – BDeveloper

+0

Параметры предпочтений в настройках темы Windows - это настройки в правом щелчке на рабочем столе - цвет меню, элементы управления и т. Д. Именно об этом говорит Хенк. Эти настройки меняют цвета по умолчанию в SystemColors.Controls и т. Д. Проверьте, что – abatishchev

+0

о System.Drawing.Color.Transparent. Я попробовал SystemColor.Color, но все же, когда я нажимаю кнопку, его цвет стал серым, а не цвет фона. – BDeveloper

0

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

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