Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
master_fatum
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 90
#1

Конвертировать numericUpDown

21.08.2015, 20:51. Просмотров 612. Ответов 11
Метки нет (Все метки)

Добрый день! Подскажите пожалуйста, как конвертнуть элемент управления numericUpDown, чтобы значения были не 1, 2, 3 и т.д., а 01, 02, 03, 04. Запарился уже! Спасибо за ранее кто откликнулся!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2015, 20:51
Ответы с готовыми решениями:

numericUpDown
На форме есть 2 numericUpDown (nud). Первый отвечает за задание часов (nudH),...

numericUpDown
timer1.Interval= Convert.ToString(numericUpDown1.Value); получает все время...

Найти NumericUpDown
Каким образом найти на чужой форме NumericUpDown контрол? Вот этот код у...

NumericUpDown в DataGridView
Уважаемые гуру, помогите с настройкой DataGridView Есть DataTable c двумя...

Задача с NumericUpDown
Нужно ввести число, возвести его в степень при помощи NumericUpDown,...

11
Adadjio
60 / 60 / 32
Регистрация: 30.07.2013
Сообщений: 178
Завершенные тесты: 3
21.08.2015, 21:36 #2
master_fatum, ты хочешь чтобы в самом numericUpDown отображалось 01 и тд.? Или ты хочешь значения полученные от numericUpDown преобразовать в формат вида "01, 02..." ?
0
master_fatum
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 90
21.08.2015, 21:58  [ТС] #3
В самом элементе

Добавлено через 1 минуту
Значения бы я и сам такие получил!
0
Adadjio
60 / 60 / 32
Регистрация: 30.07.2013
Сообщений: 178
Завершенные тесты: 3
21.08.2015, 22:28 #4
Добавь новый класс к себе в проект и напиши там такой код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    class NumericUpDown_My : System.Windows.Forms.NumericUpDown
    {
        public override string Text
        {
            get { return base.Text; }
            set
            {
                int numValue;
                if (int.TryParse(value, out numValue) & numValue >= 0 & numValue < 10)
                    base.Text = "0" + value;
                else base.Text = value;
            }
        }
    }
далее используй новый контрол NumericUpDown_My на форме вместо своего старого.

Добавлено через 4 минуты
master_fatum, добавлю небольшой совет. Для вопросов такого типа используй net reflector или dotPeek и с помощью них смотри реализацию контрола от Microsoft(в библиотеке System.Windows.Forms). Многие вопросы сами отпадут.
0
Rius
Эксперт .NET
4798 / 3032 / 746
Регистрация: 25.05.2015
Сообщений: 9,333
Записей в блоге: 11
Завершенные тесты: 4
22.08.2015, 10:12 #5
Можно унаследовать NumericUpDown, и переопределить методы UpdateEditText и ValidateEditText.
0
master_fatum
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 90
11.09.2015, 21:51  [ТС] #6
А разве в контроле numericUpDown есть свойство Text? Насколько я помню, там Value!
0
Даценд
Модератор
Эксперт .NET
4048 / 3888 / 2574
Регистрация: 20.04.2015
Сообщений: 7,060
11.09.2015, 22:08 #7
Цитата Сообщение от master_fatum Посмотреть сообщение
А разве в контроле numericUpDown есть свойство Text?
есть:
https://msdn.microsoft.com/ru-ru/library/cs40s7ds(v=vs.110).aspx
0
master_fatum
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 90
11.09.2015, 22:33  [ТС] #8
Разъясните мне подробнее пожалуйста, неопытному, сообщение 4 в этой теме! Я понял, что мы создали класс, который наследуется от NumericUpDown, я понял, что мы переопределили свойство Text в нем! Но как на форме создать новый контрол переопределённого класса NumericUpDown_My?
0
Rius
Эксперт .NET
4798 / 3032 / 746
Регистрация: 25.05.2015
Сообщений: 9,333
Записей в блоге: 11
Завершенные тесты: 4
11.09.2015, 22:34 #9
Он после пересборки проекта появится в панели элементов.
Либо в коде программно добавить.
0
Даценд
Модератор
Эксперт .NET
4048 / 3888 / 2574
Регистрация: 20.04.2015
Сообщений: 7,060
11.09.2015, 22:37 #10
Цитата Сообщение от master_fatum Посмотреть сообщение
Но как на форме создать новый контрол переопределённого класса NumericUpDown?
в конструкторе формы или в обработчике события Load формы:
C#
1
2
NumericUpDown_My myNUD = new NumericUpDown_My();
this.Controls.Add(myNUD);
0
master_fatum
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 90
11.09.2015, 22:42  [ТС] #11
Спасибо, помогло или пересохранение проекта с перезагрузкой VS или пересборка. Сделал и то и то! Появился новый элемент. Видимо я просто подтупил и возможно у меня он был давно. Я просто его не там искал!
0
ViterAlex
6391 / 3595 / 1478
Регистрация: 11.02.2013
Сообщений: 7,919
Завершенные тесты: 3
12.09.2015, 02:55 #12
Цитата Сообщение от Adadjio Посмотреть сообщение
Добавь новый класс к себе в проект и напиши там такой код:
А если потребуется отображать 002 или ещё как, то писать новый класс? Я бы делал так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
public class FormattedNumericUpDown : NumericUpDown {
    [Browsable(true)]
    public string Format { get; set; }
    public override string Text {
        get { return base.Text; }
        set {
            if (Format != null && Format.Length > 0)
                base.Text = base.Value.ToString(Format);
            else base.Text = base.Value.ToString();
        }
    }
}
Теперь, чтобы отобразить число с нулём впереди нужно задать формат "00"
2
12.09.2015, 02:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2015, 02:55

Взаемодействие 3х NumericUpDown
Здравствуйте. Имею проблему создания кода для обработки трех NumericUpDown...

Траблы с numericUpDown
Ребят, кто сталкивался, нужно что бы в numericUpDown значение было не просто 1,...

NumericUpDown на ToolStrip
мне нужен NumericUpDown на ToolStrip помогите ! нашел вот такой неплохой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru