none
значение переменной RRS feed

  • Вопрос

  • Использую VS 2008. Создаю Win Forms. В ней задаю переменную

     int Norma ;

    В конструкторе рисую textbox. Как правильно выполнить присваиване  переменной <int Norma> значения из  textbox .При этом только чисел больше 0 ? И без кнопки ,а по нажатию Enter ,перемещению мышки на другое поле .

    • Перемещено SachinW 1 октября 2010 г. 21:08 MSDN Forums Consolidation (От:Начинающие разработчики)
    12 августа 2010 г. 11:35

Ответы

  • Так пойдет?

      public partial class Form1 : Form
      {
        int Norma = 0;
        public Form1()
        {
          InitializeComponent();
          // Чтобы обрабатывать нажатие Ентера
          this.textBox1.KeyDown += new KeyEventHandler(textBox1_KeyDown);
          // Чтобы при переходе на другой элемент мышкой
          this.textBox1.Leave+=new EventHandler(textBox1_Leave);
    
        }
    
        void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
          if (e.KeyCode == Keys.Enter)
          {
            this.TextBox2Norma();
          }
        }
    
        void textBox1_Leave(object sender, EventArgs e)
        {
          this.TextBox2Norma();
        }
    
        private void TextBox2Norma()
        {
          int i;
          if (Int32.TryParse(this.textBox1.Text, out i))
          {
            if (i > 0) this.Norma = i;
          }
        }
        
      }
    
    

    • Предложено в качестве ответа ulcerModerator 13 августа 2010 г. 8:15
    • Помечено в качестве ответа I.Vorontsov 17 августа 2010 г. 6:53
    12 августа 2010 г. 12:35
    Модератор

Все ответы

  • Так пойдет?

      public partial class Form1 : Form
      {
        int Norma = 0;
        public Form1()
        {
          InitializeComponent();
          // Чтобы обрабатывать нажатие Ентера
          this.textBox1.KeyDown += new KeyEventHandler(textBox1_KeyDown);
          // Чтобы при переходе на другой элемент мышкой
          this.textBox1.Leave+=new EventHandler(textBox1_Leave);
    
        }
    
        void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
          if (e.KeyCode == Keys.Enter)
          {
            this.TextBox2Norma();
          }
        }
    
        void textBox1_Leave(object sender, EventArgs e)
        {
          this.TextBox2Norma();
        }
    
        private void TextBox2Norma()
        {
          int i;
          if (Int32.TryParse(this.textBox1.Text, out i))
          {
            if (i > 0) this.Norma = i;
          }
        }
        
      }
    
    

    • Предложено в качестве ответа ulcerModerator 13 августа 2010 г. 8:15
    • Помечено в качестве ответа I.Vorontsov 17 августа 2010 г. 6:53
    12 августа 2010 г. 12:35
    Модератор
  • да вполне .
    13 августа 2010 г. 5:40
  • Подскажите еще , как преобразовать из числового типа в текстовые ? Я получил "число 12" и мне нужноо чтоб у меня выводил на экран "текст 12"
    13 августа 2010 г. 8:23
  • int i = 12;
    this.textBox1.Text = i.ToString();
     
    Ты это имеешь ввиду?
     
    13 августа 2010 г. 8:26
    Модератор
  • ulcer да все получилось. Спасиба всем. Скоро будут еще Вопросы =)
    13 августа 2010 г. 9:35
  • this.comboBox1.Items.AddRange(new object[] {
          "Без ванн",
          "С ванными и местными водонагревателями",
          "С централизованным горячим водоснабжением"});

    вот записал в comboBox1 такие элементы. как можно обявить эти значения для работы с ними?(через void comboBox1_SelectedIndexChanged(object sender, EventArgs e)?? ) цель такая .Вот выбираю строчку в comboBox, а у меня под этой строкой используется переменная с числами 2, 4, 5 .

    Через if или for ?! полный тупик =(

     

     

    13 августа 2010 г. 10:46
  • Может Select Case

    13 августа 2010 г. 11:05
  • Select Case это из Visual Basic ,наверное. Я ток начинаю изачать, и не смогу транслировать с одного на другой =(
    13 августа 2010 г. 11:15
  • switch(s)
    {
        case "1":
            // ...
        case "2":
            // ...
    }
    13 августа 2010 г. 11:25