none
textBox тип int или double RRS feed

  • Вопрос

  • Возможно ли, сделать что бы в поле textBox был не sting тип а int или double, к примеру для калькулятора, что бы каждый раз не конвертировать?

     

    И как записать/вставить данные в буфер, как в виндовом калькуляторе, то есть как работать с буфером?

     

    • Перемещено Tagore Bandlamudi 1 октября 2010 г. 22:38 MSDN Forums consolidation (От:Visual C#)
    1 апреля 2010 г. 23:22

Ответы

  • Вряд ли, но можно унаследоваться от текст бокса и определить там свое свойство.

     

        class MyTextBox:TextBox
        {
            public int MyText
            {
                get 
                {
                    int ret = 0;
                    int.TryParse(this.Text,out ret);
                    return ret;
                }
                set
                {
                    this.Text = value.ToString();
                }
            }
        }

    • Помечено в качестве ответа Artem Makukha 3 апреля 2010 г. 0:14
    2 апреля 2010 г. 23:39

Все ответы

  • Вы можете использовать MaskedTextBox , чтобы быть уверенным, что пользователь введет значение в нужном вам формате. Можете отлавливать событие OnTextChanged и удалять неправильные символы.

    Для записи и чтения буфера обмена нужно использовать класс Clipboard.

    • Помечено в качестве ответа I.Vorontsov 2 апреля 2010 г. 8:51
    • Снята пометка об ответе Artem Makukha 2 апреля 2010 г. 17:32
    2 апреля 2010 г. 8:01
  • Пользователь не может ввести не правильное значение, так как это калькулятор и ввод производиться при помощи button, я имею ввиду в строке textbox значение типа string, можно ли сделать что бы там было значение типа int для работы без конвертации?

     

    2 апреля 2010 г. 12:09
  • Вряд ли, но можно унаследоваться от текст бокса и определить там свое свойство.

     

        class MyTextBox:TextBox
        {
            public int MyText
            {
                get 
                {
                    int ret = 0;
                    int.TryParse(this.Text,out ret);
                    return ret;
                }
                set
                {
                    this.Text = value.ToString();
                }
            }
        }

    • Помечено в качестве ответа Artem Makukha 3 апреля 2010 г. 0:14
    2 апреля 2010 г. 23:39