Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: счетчик в форме Добавлено: 21.02.07 11:31  

Автор вопроса:  APS | ICQ: 234458121 
Есть форма. На ней два поля, рядом с каждым счетчик. Изменение значения счетчика тупо отображается в поле.
Смысл в следующем. Первое поле - это начальный индекс массива, второе - последний. Так вот необходимо, чтобы если значение первого счетчика превысит значение второго, они бы были приравнены. И наоборот, если значение второго станет меньше значения первого, они опять же были приравнены.
Private Sub StartSpinButton_Change()
    StartTextBox.Text = StartSpinButton.Value
End Sub

Private Sub EndSpinButton_Change()
    EndTextBox.Text = EndSpinButton.Value
End Sub


Это код без сравнения. Попытки сравнения StartSpinButton.Value и EndSpinButton.Value и присваивание их друг другу приводит к ошибке.
Вот никак и не могу понять, как сравнить значение двух счетчиков и присвоить значение одного другому. И, соответственно, вывести эти значения потом в поле (ну это понятно как).

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 APS



ICQ: 234458121 

Вопросов: 38
Ответов: 107
 Профиль | | #1 Добавлено: 21.02.07 16:59
Более-менее разобрался. Как сравнивать значения счетчиков теперь ясно. Надо было переменные объявлять на уровне модуля. Т.е. делаю следующее:
Private Sub StartSpinButton_Change()
    Ssb = StartSpinButton.Value 'считываю значение первого счетчика в переменную
    If Ssb > Esb Then Ssb = Esb 'сравниваю значения обоих счетчиков, если значение переменной первого счетчика больше значения переменного второго, приравниванию
    StartSpinButton.Value = Ssb 'вот здесь загвоздка, пытаюсь присвоить значение счетчику, выдает ошибку
    StartTextBox.Text = Ssb 'вывожу значение в поле
End Sub


Непонятно, почему не катит строка
StartSpinButton.Value = Ssb
, ведь при инициализации формы она катит:
Private Sub UserForm_Initialize()

    StartSpinButton.Min = 1
    StartSpinButton.Max = 65536
    Ssb = 5
    StartSpinButton.Value = Ssb 'вот такое же присваивание, которое работает
    StartTextBox.Text = StartSpinButton.Value
    StartTextBox.Locked = False
    
    EndSpinButton.Min = 1
    EndSpinButton.Max = 65536
    Esb = 10
    EndSpinButton.Value = Esb
    EndTextBox.Text = EndSpinButton.Value
    EndTextBox.Locked = False
    
End Sub

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам