Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2012, 21:40   #1
Fakeme
Новичок
Джуниор
 
Регистрация: 31.01.2012
Сообщений: 3
По умолчанию VBA Как изменить BG?

Нужно сделать что бы при нажатии на кнопку, бграуд кнопки менялся.. причем сделать это так, что бы он менялся по кругу..скажем 1 картинка при клике сменилась на 2ую, при повторном клике 2ая меняется на первую..и т.д

пробовал так, но не выходит..выдает ошибку : "Ошибка 1 Оператор "=" для типов "System.Drawing.Image" и "System.Drawing.Bitmap" не определен. C:\Users\Пользователь\Desktop\рассп исание2\WindowsApplication1\Windows Applicatio n1\Form1.vb 73 12 WindowsApplication1"

моя версия:
Код:
Private SUB Button1_Click(BYVAL sender AS SYSTEM.Object, BYVAL e AS SYSTEM.EventArgs) Handles 
IF Button1.BackgroundImage = WindowsApplication1.My.Resources.Resources.Презентация1 THEN
 
Button1.BackgroundImage = WindowsApplication1.My.Resources.Resources.x_0c89e119
 
ELSE
 
IF Button1.BackgroundImage = WindowsApplication1.My.Resources.Resources.Презентация1
END IF
END SUB
В чем проблема?
Fakeme вне форума Ответить с цитированием
Старый 31.01.2012, 22:29   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Вы не в ту ветку написали.
дебагер все верно говорит котлеты отдельно.мухи отдельно

при инициализации

Код:
me.Button1.BackgroundImage = WindowsApplication1.My.Resources.Resources.x_0c89e119

me.Button1.BackgroundImage.tag=1


Код:
Private SUB Button1_Click(BYVAL sender AS SYSTEM.Object, BYVAL e AS SYSTEM.EventArgs) Handles 
IF Button1.BackgroundImage.tag=1  THEN
 
Button1.BackgroundImage=WindowsApplication1.My.Resources.Resources.Презентация1
  Button1.BackgroundImage.tag=2
ELSEIF  Button1.BackgroundImage.tag=2   THEN
me.Button1.BackgroundImage = WindowsApplication1.My.Resources.Resources.x_0c89e119

me.Button1.BackgroundImage.tag=1
END IF

END SUB
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 31.01.2012 в 23:47.
doober вне форума Ответить с цитированием
Старый 31.01.2012, 22:43   #3
Fakeme
Новичок
Джуниор
 
Регистрация: 31.01.2012
Сообщений: 3
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Вы не в ту ветку написали.
дебагер все верно говорит котлеты отдельно.мухи отдельно

при инициализации

Код:
me.Button1.BackgroundImage = WindowsApplication1.My.Resources.Resources.x_0c89e119

me.Button1.BackgroundImage.tag=1


Код:
Private SUB Button1_Click(BYVAL sender AS SYSTEM.Object, BYVAL e AS SYSTEM.EventArgs) Handles 
IF Button1.BackgroundImage.tag=1  THEN
 
Button1.BackgroundImage=WindowsApplication1.My.Resources.Resources.Презентация1
  Button1.BackgroundImage.tag=2
ELSEIF  Button1.BackgroundImage.tag=2   THEN
me.Button1.BackgroundImage = WindowsApplication1.My.Resources.Resources.x_0c89e119

me.Button1.BackgroundImage.tag=1
END IF

END SUB
Спасибо, ошибку теперь не выдает.

Но и собственно не работает код почему-то..при нажатии не меняется БГ.

а это с чем связано может быть?
Fakeme вне форума Ответить с цитированием
Старый 31.01.2012, 23:04   #4
Fakeme
Новичок
Джуниор
 
Регистрация: 31.01.2012
Сообщений: 3
По умолчанию

А все извиняюсь, проблему решил сам:

Код:
If Button1.BackgroundImage.Tag = 2 Then

            Button1.BackgroundImage = WindowsApplication1.My.Resources.Resources.Презентация1
            Button1.BackgroundImage.Tag = 1
        ElseIf Button1.BackgroundImage.Tag = 1 Then
            Me.Button1.BackgroundImage = WindowsApplication1.My.Resources.Resources.x_0c89e119

            Me.Button1.BackgroundImage.Tag = 2
        End If
        If Button1.BackgroundImage.Tag = 2 Then

            Button1.BackgroundImage = WindowsApplication1.My.Resources.Resources.Презентация1
            Button1.BackgroundImage.Tag = 2
        Else
            Me.Button1.BackgroundImage = WindowsApplication1.My.Resources.Resources.x_0c89e119

            Me.Button1.BackgroundImage.Tag = 1
        End If
все работает. Правда пришлось поставить 2 условия.
спасибо.

Последний раз редактировалось Fakeme; 31.01.2012 в 23:12.
Fakeme вне форума Ответить с цитированием
Старый 31.01.2012, 23:47   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Я же вам писал,при инициализации задать Tag
В этой процедуре

Код:
    Public Sub New()
        InitializeComponent()
  Button1.BackgroundImage = WindowsApplication1.My.Resources.Resources.Презентация1
            Button1.BackgroundImage.Tag = 1
    End Sub
Или в этой

Код:


    Private Sub InitializeComponent()
-------------------
  Button1.BackgroundImage = WindowsApplication1.My.Resources.Resources.Презентация1
            Button1.BackgroundImage.Tag = 1
-----------------------

    End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
можно ли В VBA изменить шрифт для MsgBox? roborrr Microsoft Office Excel 1 27.02.2011 14:59
Реестр - Необходимо изменить действие по умолчанию для .reg файлов(«Изменить» вместо «Объединить»). ACE Valery Windows 7 30.11.2010 23:33
Как программно VBA изменить свойство Обязательное поле в таблице myprog Microsoft Office Access 10 05.10.2010 11:23
Что это?Примечание?Как удалить?Как изменить? vfv Microsoft Office Excel 3 07.03.2010 13:51
обновление в блоге - Решение задач: как программе удалить саму себя или как изменить название исполняемог Pblog Обсуждение статей 0 27.06.2009 23:20