Запись в masketTextBox - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Прошу помочь или подсказать. Есть maskedTextBox с шаблоном IPAddress&Port(***.***.***.***:****). как сделать предел до 255, первых 4х актетов и как использовать в дальнейшем. Буду благодарен.

Решение задачи: «Запись в masketTextBox»

textual
Листинг программы
class IpCheck
    {
        private TextBox tb1, tb2, tb3, tb4;
    
        public IpCheck() { }
        //Создаем конструктор, который принимает нужные поля TextBox
        public IpCheck(ref TextBox _tb1, ref TextBox _tb2, ref TextBox _tb3, ref TextBox _tb4)
        {
            tb1 = _tb1;
            tb2 = _tb2;
            tb3 = _tb3;
            tb4 = _tb4;
            tb1.TextAlign = tb2.TextAlign = tb3.TextAlign = tb4.TextAlign = HorizontalAlignment.Center;
        }
 
        //Метод отслеживает введенное значение > 255 или нет
        public void ChangeTextTB(ref TextBox tb)
        {
            int k = tb.SelectionStart;
            int i;
            try
            {
                 i= Convert.ToInt32(tb.Text);
            }
            catch
            {
                i=0;
            }
            tb.SelectionStart = k;
 
            if (i > 255)
            {
                tb.Text = "255";
                tb2.Focus();// = true;
                if (tb == tb1) tb2.Focus();
                else if (tb == tb2) tb3.Focus();
                else if (tb == tb3) tb4.Focus();
                else if (tb == tb4) tb4.Focus();
            }
            else
            {
                tb.Text = Convert.ToString(i);
            }
        }
 
        //Метод отслеживате нажатие кнопок влево и вправо 
        public void KeyLeftRight(ref TextBox tb, KeyEventArgs e)
        {
            // ->  39
            // <-  37
            int k = tb.SelectionStart;
            if ((e.KeyValue == 39) && (tb.SelectionStart == tb.Text.Length))
            {
                if (tb == tb1) { tb2.Focus(); tb2.Select(0, 0); }
                else if (tb == tb2) { tb3.Focus(); tb3.Select(0, 0); }
                else if (tb == tb3) { tb4.Focus(); tb4.Select(0, 0); }
                tb.SelectionStart = k;
            }
            else if ((e.KeyValue == 37) && (tb.SelectionStart == 0))
            {
                if (tb == tb2) { tb1.Focus(); tb.Select(tb1.Text.Length,0); }
                else if (tb == tb3) { tb2.Focus(); tb.Select(tb1.Text.Length, 0); }
                else if (tb == tb4) { tb3.Focus(); tb.Select(tb1.Text.Length, 0); }
                
            }
        }
        //Метод отслеживает нажатия, ограничивает введение символов - цифры, backspace, delete
        public void KeyPressTB(ref KeyPressEventArgs e)
        {
            if ((!Char.IsDigit(e.KeyChar)) && (e.KeyChar != 8) && (e.KeyChar != 46)) e.Handled = true;
        }
 
        //Выводит на экран IP
        public override string ToString()
        {
            return tb1.Text + "." + tb2.Text + "." + tb3.Text + "." + tb4.Text;
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.5 из 5