PDA

View Full Version : مبتدی: چگونه درج فقط یک حروف در تکست باکس و بعد از درج . فوکوس به طور خودکار به تکست باکس بعد برود



golestan1
سه شنبه 28 بهمن 1393, 17:24 عصر
مانند شماره سریال برای رجیستر کردن برنامه ها البته اگه ممکنه خود فوکوس در تکست باکس نمایان نشود
فرض کنید 5 تا تکست باکس داریم و 5 تا باتن با فشار دادن باتن اولی تکست تکست باکس اولی 1 شود و فوکوس به تکست باکس بعد برود

Mofid.m
سه شنبه 28 بهمن 1393, 18:15 عصر
درود به شما
سوال شما واضح نیست
اگه منظورت اینه که چطوری میشه فقط یه کاراکتر تو تکست باکس نوشت، تو پنجره propertiesخاصیت Max Lengthرو برابر با 1 قرار بده.
اینطوری textbox فقط یه کاراکتر رو قبول میکنه.

اگر میخوای خودت کنترلش کنی با کد نویسی
تو رویداد keypress اون تکست باکس مینویسی
if(TextBox1.Text.Length>=1)
{
e.Handel=true;
TextBox2.Focus()
}

حالا اگه میخوای با فشار دادن یه دکمه یه کاراکتر تایپ بشه و تکست باکس بعدی فوکوس بشه تو رویداد کلیک بنویس

TextBox1.Text="کاراکتر مورد نظر";
TextBox2.Focuse();

میتونی خاصیت Max Length همه تکست باکس ها رو هم 1 کنی

sajadsobh
سه شنبه 28 بهمن 1393, 18:22 عصر
منم متوجه نشدم. ولی یه مثال اینکه 4 تا تکست باکس به پروژه اضافه کردم. MaxLength رو هم روی 2 تنظیم کردم. این کدها رو هم می نویسم:

private void Form1_Load(object sender, EventArgs e)
{
textBox1.Focus();
}

private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (textBox1.TextLength == textBox1.MaxLength)
{
if (string.IsNullOrWhiteSpace(textBox2.Text))
{
textBox2.Focus();
}
else
{
textBox2.SelectAll();
textBox2.Focus();
}
}
}

private void textBox2_KeyUp(object sender, KeyEventArgs e)
{
if (textBox2.TextLength == textBox2.MaxLength)
{
if (string.IsNullOrWhiteSpace(textBox3.Text))
{
textBox3.Focus();
}
else
{
textBox3.SelectAll();
textBox3.Focus();
}
}
}

private void textBox3_KeyUp(object sender, KeyEventArgs e)
{
if (textBox3.TextLength == textBox3.MaxLength)
{
if (string.IsNullOrWhiteSpace(textBox4.Text))
{
textBox4.Focus();
}
else
{
textBox4.SelectAll();
textBox4.Focus();
}
}
}

اینجوری توی هر تکست باکس که دو تا کاراکتر وارد بشه خودش فوکوس میشه روی تکست باکس بعدی :چشمک: