Запись в 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;
}
}