Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> изменение Button.BackgroundImage по событию 
:(
    Опции темы
Dobermann
Дата 12.2.2010, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: 1
Всего: 0



Уже начинает бесить!
Код

        private void Form1_Load(object sender, EventArgs e)
        {
            this.Location = new System.Drawing.Point(0, 0);
            genel g = new genel();
            g.button_o(this.button1);
            g.button_o(this.button2);
        }

        class genel
        {

            Button btt1 = new Button();
            public void button_o(Button Btt)
            {
                btt1 = Btt;
                btt1.MouseHover += new System.EventHandler(this.OnMouseHover);
                btt1.MouseLeave += new System.EventHandler(this.OnMouseLeave);
                btt1.BackgroundImage = new Bitmap(@"d:\1.jpg");
            }
            private void OnMouseLeave(object sender, EventArgs e)
            {

                btt1.BackgroundImage = new Bitmap(@"d:\2.jpg");
            }
            private void OnMouseHover(object sender, EventArgs e)
            {

                btt1.BackgroundImage = new Bitmap(@"d:\3.jpg");
            }
        }
    }
Ну тут все понятно, должна картинка у кнопки меняться! Если навести курсор на первую, то меняется у второй, но не наоборот!
PM   Вверх
Heinzz
Дата 12.2.2010, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 12.12.2008
Где: .net

Репутация: 5
Всего: 9



Все правильно делает, после этого кода
            g.button_o(this.button1);
            g.button_o(this.button2);
в переменную btt1 записывается кнопка 2!
Теперь какая бы кнопка не подняла событие, Ваш код приказывает изменить картинку на btt1, те на кнопке 2!

Добавлено @ 21:52
Я так понимаю надо было так:
Код

 private void Form1_Load(object sender, EventArgs e)
        {
            this.Location = new System.Drawing.Point(0, 0);
            genel g = new genel();
            g.button_o(this.button1);
            g.button_o(this.button2);
        }

class genel
    {
        public void button_o(Button Btt)
        {
            Btt.MouseHover += new System.EventHandler(this.OnMouseHover);
            Btt.MouseLeave += new System.EventHandler(this.OnMouseLeave);
            Btt.Text = "1";
        }
        private void OnMouseLeave(object sender, EventArgs e)
        {
            ((Button)sender).Text = "2";
        }
        private void OnMouseHover(object sender, EventArgs e)
        {
            ((Button)sender).Text = "3";
        }
    }



Это сообщение отредактировал(а) Heinzz - 12.2.2010, 21:52


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0383 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.