Один из вариантов, для чего это может понадобиться — текстовое поле с паролем. Количество знаков в пароле, например 6. Пользователь ввел пароль и автоматически перешел к следующему элементу управления.
Это выполняется с помощью события TextChanged и метода SelectNextControl().
Это выполняется с помощью события TextChanged и метода SelectNextControl().
Form1.cs
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
using
System.Windows.Forms;
namespace
_0028 {
-
public
partial
class
Form1 : Form {
-
public
Form1() {
-
InitializeComponent();
-
}
-
private
void
button1_Click(
object
sender, EventArgs e) {
-
if
(textBox2.Text ==
"123456"
) {
-
BackColor=Color.FromArgb(240, 240, 240);
-
MessageBox.Show(
"Пароль правильный! "
);
-
}
-
else
{
-
BackColor=Color.FromArgb(255, 67, 67);
-
MessageBox.Show(
"Пароль не правильный!"
);
-
}
-
}
-
private
void
textBox1_KeyPress(
object
sender, KeyPressEventArgs e) {
-
if
(e.KeyChar == (
char
)Keys.Enter) {
-
textBox2.Select();
-
e.Handled =
true
;
-
}
-
}
-
private
void
textBox2_TextChanged(
object
sender, EventArgs e) {
-
//если длина текста равна 6 символам, перейти к следующему элементу
-
if
(textBox2.TextLength == 6) {
-
//1 аргумент - объект, с которог нужно начать поиск
-
//2 аргумент - true, перемещаем вперед, false перемещаем назад
-
//3 аргумент - true игнорирует TabStop, false не игнорирует
-
//4 аргумент - true — включает дочерние вложенные элементы, false — нет
-
//5 аргумент - true — продолжает поиск после конечного элемента дальше, false — нет
-
SelectNextControl(ActiveControl,
true
,
true
,
false
,
false
);
-
}
-
}
-
}
}
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
using
System.Windows.Forms;
namespace
_0028 {
-
public
partial
class
Form1 : Form {
-
public
Form1() {
-
InitializeComponent();
-
}
-
private
void
button1_Click(
object
sender, EventArgs e) {
-
if
(textBox2.Text ==
"123456"
) {
-
BackColor=Color.FromArgb(240, 240, 240);
-
MessageBox.Show(
"Пароль правильный! "
);
-
}
-
else
{
-
BackColor=Color.FromArgb(255, 67, 67);
-
MessageBox.Show(
"Пароль не правильный!"
);
-
}
-
}
-
private
void
textBox1_KeyPress(
object
sender, KeyPressEventArgs e) {
-
if
(e.KeyChar == (
char
)Keys.Enter) {
-
textBox2.Select();
-
e.Handled =
true
;
-
}
-
}
-
private
void
textBox2_TextChanged(
object
sender, EventArgs e) {
-
//если длина текста равна 6 символам, перейти к следующему элементу
-
if
(textBox2.TextLength == 6) {
-
//1 аргумент - объект, с которог нужно начать поиск
-
//2 аргумент - true, перемещаем вперед, false перемещаем назад
-
//3 аргумент - true игнорирует TabStop, false не игнорирует
-
//4 аргумент - true — включает дочерние вложенные элементы, false — нет
-
//5 аргумент - true — продолжает поиск после конечного элемента дальше, false — нет
-
SelectNextControl(ActiveControl,
true
,
true
,
false
,
false
);
-
}
-
}
-
}
}