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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> NumericUpDown инкремент и декримент? Увеличение и уменьшение значения? 
:(
    Опции темы
myendlessness
Дата 9.7.2009, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Вопрос вроде изначально простой, но тут ответа на него не нашёл? 

Я хочу сделать так чтобы начиная с 16 число увеличивалось со степенью двойки например 16,32,64,128 и так до 2048, а потом таким же образом уменьшалось. 

Установил 
minimum 16, 
maximum 2048, 
value = 16, 
increment = 16

 дальше такой код:
Код

 private void numericUpDown3_MouseUp(object sender, MouseEventArgs e)
        {
            numericUpDown3.Increment = numericUpDown3.Value;
        }
 

вверх работает нормально, а вот вниз сразу перескакивает с 2048 на 16, а когда пытаюсь сделать метод "private void numericUpDown3_MouseDown"  и что-либо там написать, то получается так, что неважно нажимаю я вверх или вних, первым обрабатывается метод MouseDown, а уже затем MouseUp 

Ничего не могу понять! Подскажите, пожалуйста, если кто знает? 



PM MAIL   Вверх
diadiavova
Дата 9.7.2009, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Я бы использовал System.Windows.Forms.DomainUpDown


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
myendlessness
Дата 10.7.2009, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Попробовал и System.Windows.Forms.DomainUpDown  такая же беда, неважно нажимаю я вверх или вниз он выполняет два метода MouseDown и MouseUp ничего не могу понять, где зарыта собака, видимо что-то надо изменить в свойствах, так же не должно быть!
PM MAIL   Вверх
diadiavova
Дата 10.7.2009, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



События  MouseDown и MouseUp происходят когда по контролу клацают мышкой и не имеет значения в каком месте. Первое - когда нажимаешь кнопку мыши, второе - когда её отпускаешь. Можно отследить события ValueChanged для нумерикапдауна и SelectedItemChange для доменапдауна. Только я не понял зачем. Доменапдаун решает описанную тобой проблему дез отслеживания событий, просто надо добавть в него нужный список значений. Или я не понял чего-то?


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
myendlessness
Дата 10.7.2009, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я просто не работал с этими тулбоксами поэтому не знаю как сделать, вот и ищу решение. Если не трудно напиши, пожалуйста, как именно это сделать?
PM MAIL   Вверх
diadiavova
Дата 10.7.2009, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Всё сделано в дизайнере. Ни одной строчки ручного кода smile 

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  DUDSample.rar 34,06 Kb


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
myendlessness
Дата 13.7.2009, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо за помощь, однако, осталось выяснить два вопроса! 

Почему увеличение  происходит когда я жму на нижнюю стрелочку, обычно везде вверх - увеличивать, вниз - уменьшать, а в примере наоборот?
 И второй вопрос, как сделать так чтобы изначально при запуске было 16, если присвоить Text=16, то это сработает один раз?
PM MAIL   Вверх
diadiavova
Дата 13.7.2009, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Цитата(myendlessness @  13.7.2009,  12:34 Найти цитируемый пост)
Почему увеличение  происходит когда я жму на нижнюю стрелочку

Там вообще не происходит никакого увеличения. Он просто выдаёт список значений, который я ввёл. Надо, чтобы выдавал их в обратном порядке - их надо ввести в обратном порядке(смотри свойства контрола в дизайнере). 

Цитата(myendlessness @  13.7.2009,  12:34 Найти цитируемый пост)
то это сработает один раз? 

А сколько надо?

Кроме того можно присвоить значение свойству SelectedIndex


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
myendlessness
Дата 14.7.2009, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я хочу сделать так чтобы начиная с 16 число увеличивалось со степенью двойки например 16,32,64,128 и так до 2048, а потом таким же образом уменьшалось. 

То есть запускаем форму и в окне DomainUpDown показывает 16 дальше я могу мотать вверх или вниз, если нажимаю стрелочку вверх, то увеличивается 16, 32 и тд до 2048, но в любой момент я могу начать нажимать стрелочку вниз и оно должно уменьшать так же, то есть например остановился на 1024, а затем начал нажимать стрелочку вниз 1024,512,256 и так до 16. Надеюсь написал подробно.

Вроде и задача простая но сделать что-то не получается!
PM MAIL   Вверх
diadiavova
Дата 14.7.2009, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Ну я же пример выложил. Что с ним не так? smile 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
myendlessness
Дата 14.7.2009, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



 smile Такое ощущение, что мы говорим на разных языкахsmile Спасибо, что мучаетесь со мной и пытаетесь понять! В примере две проблемы (писал выше): 

1-ая 
Нажимаю на нижнюю стрелочку и начинает увеличиваться от 16 и до 2048, а логично было бы чтобы увеличивалось при нажатии на верхнюю стрелочку, а уменьшалось при нажатии на нижнюю

2-ая 
Счёт надо начинать с 16 и чтобы сразу при загрузке формы отображало 16( в окне DomainUpDown), а не что-либо ещё, можно конечно сделать Text=16, но это не решает вопроса
PM MAIL   Вверх
diadiavova
Дата 14.7.2009, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Цитата(myendlessness @  14.7.2009,  15:11 Найти цитируемый пост)
акое ощущение, что мы говорим на разных языках

Как это не странно - у меня тоже. smile

Цитата(myendlessness @  14.7.2009,  15:11 Найти цитируемый пост)
Нажимаю на нижнюю стрелочку и начинает увеличиваться от 16 и до 2048, а логично было бы чтобы увеличивалось при нажатии на верхнюю стрелочку, а уменьшалось при нажатии на нижнюю

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


Цитата(myendlessness @  14.7.2009,  15:11 Найти цитируемый пост)
Счёт надо начинать с 16 и чтобы сразу при загрузке формы отображало 16( в окне DomainUpDown), а не что-либо ещё, можно конечно сделать Text=16, но это не решает вопроса 

Почему это не решает? smile Мне сложно давать советы учитывая, что я не понимаю, чем не подходит вполне рабочее решение.

Переделал за пару минут

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  DUDSample.rar 35,89 Kb


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
myendlessness
Дата 15.7.2009, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Видимо мы всё-таки нашли общий язык smile  Спасибо за помощь это то, что мне надо. Извиняюсь если где-то тормозил! Хотел увеличить Вашу репутацию, но не даёт, кричит что нужно 100 постов smile 

 Ещё хотел уточнить один момент, какое именно свойство Вы изменили, чтобы началось с 16? там Text=domainUpDown1 а при запуске отображает 16! 
PM MAIL   Вверх
diadiavova
Дата 15.7.2009, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Цитата(myendlessness @  15.7.2009,  12:11 Найти цитируемый пост)
какое именно свойство Вы изменили, чтобы началось с 16?

SelectedIndex.
И зделал я это в коде, а именно в обработчике загрузки формы. Я писал уже об этом

Цитата(diadiavova @  13.7.2009,  16:37 Найти цитируемый пост)
Кроме того можно присвоить значение свойству SelectedIndex 


Цитата(myendlessness @  15.7.2009,  12:11 Найти цитируемый пост)
Хотел увеличить Вашу репутацию, но не даёт, кричит что нужно 100 постов

 smile 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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