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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> numericUpDown 
:(
    Опции темы
DarkFalcon
Дата 8.9.2007, 08:57 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Можно ли как нибудь, сделать проверку в numericUpDown, жмешь ты вверх или вниз? smile Как это проверить?  smile 

PM MAIL   Вверх
marcusmae
Дата 8.9.2007, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


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

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



DarkFalcon, события такого нет. Есть событие ValueChanged, загорающееся при изменении значения в NumericUpDown. Внутри обработчика можно было бы сравнить новое значение с тем, что было ранее (куда-нибудь его записав), и на основании того, увеличилось ли оно или уменьшилось, принять решение. Как-нибудь так :

Код

Decimal oldValue = numericUpDown.Value;
...
private void NumericUpDown_ValueChanged(Object sender, EventArgs e) {

   if (this.oldValue > numericUpDown.Value)
   {
      // нажата стрелка вниз
   }
   else
   {
      // нажата стрелка вверх
   }

   // сохранить новое значение для следующей проверки
   this.oldValue = numericUpDown.Value;

}


Подойдёт?
Отследить вариант непосредственной установки значения (без использования стрелок) можно, зарегистрировавшись дополнительно на получение событий, связанных с редактированием текстового поля...
Интересно, а зачем это?  smile 

Это сообщение отредактировал(а) marcusmae - 8.9.2007, 19:34


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Dark_Falcon
Дата 8.9.2007, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ну собственно я так и сделал...  smile  Просто я думал, что может есть какая-то встроенная хрень.  smile Ну да это не важно. Просто интересно было. Спасибо.  smile 
PM MAIL   Вверх
contramundum
Дата 27.5.2008, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Как сделать красиво так, чтоб много одинаковых контролов "NumericUpDown" при увеличении значения после 9-ти скидывались в 0 и начинали сначала, ну а при уменьшении после 0 показывали 9?
выхожу из положения пока только очень громоздко и некрасиво так:
Код

If NumericUpDown1.Value > 9 Then NumericUpDown1.Value = 0
If NumericUpDown1.Value < 0 Then NumericUpDown1.Value = 9
' и так для каждого, а их много


думал что-то вроде этого, но не работает:
Код

If (NumericUpDown1.Value Or NumericUpDown2.Value Or NumericUpDown3.Value Or NumericUpDown4.Value) > 9 Then NumericUpDown1.Value = 0 OrNumericUpDown2.Value = 0 Or NumericUpDown3.Value = 0 Or NumericUpDown4.Value = 0

 smile 
PM MAIL   Вверх
QryStaL
Дата 27.5.2008, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


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

Репутация: 10
Всего: 32



Подпиши на них всех 1 обработчик и в нем проверяй значение того NumericUpDown, который сгенерировал событие.


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
contramundum
Дата 27.5.2008, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А как это сделать?! smile 
PM MAIL   Вверх
QryStaL
Дата 27.5.2008, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


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

Репутация: 10
Всего: 32



Код

Public Class Form1
    Private Sub InitializeComponent()
        ' ...
        AddHandler Me.numericUpDown1.ValueChanged, New EventHandler(AddressOf Me.numericUpDown_ValueChanged)
        AddHandler Me.numericUpDown2.ValueChanged, New EventHandler(AddressOf Me.numericUpDown_ValueChanged)
        AddHandler Me.numericUpDown3.ValueChanged, New EventHandler(AddressOf Me.numericUpDown_ValueChanged)
        ' ...
    End Sub

    Private Sub numericUpDown_ValueChanged(ByVal sender As Object, ByVal e As EventArgs)
        Dim nud As NumericUpDown = DirectCast(sender, NumericUpDown)
        If (Not nud Is Nothing) Then
            If (nud.Value > 9) Then
                nud.Value = 0
            ElseIf (nud.Value < 0) Then
                nud.Value = 9
            End If
        End If
    End Sub
End Class


P.S. Писал на C#, VB код посмотрел в рефлекторе. =)

Это сообщение отредактировал(а) QryStaL - 27.5.2008, 15:03


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
contramundum
Дата 28.5.2008, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ДА!! Огромное Спасибо! Все работает! ваще круто! smile 


 smile 
 smile 
PM MAIL   Вверх
jonie
Дата 28.5.2008, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



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

Это сообщение отредактировал(а) jonie - 28.5.2008, 23:08


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
contramundum
Дата 29.5.2008, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



jonie, а как это сделать? smile 
PM MAIL   Вверх
jonie
Дата 29.5.2008, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



эээ.... также как и собственный контрол. почитай лучше книжку, там это описано довольно подробно...
просто тут писать много. да и вообще есть гугл еще.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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