PDA

View Full Version : سوال: قابل ویرایش نبودن قسمتی از متن textbox



nikarad
دوشنبه 11 اردیبهشت 1391, 15:40 عصر
سلام
من تو برنامه ام یه تکست باکس دارم که کد داوطلبی را براساس ترم به صورت خودکار می ده حالا می خوام که کاربر بتونه خودش کد رو دستی وارد کنه ولی 4 رقم اول که مال ترم هست قابل ویرایش نباشه و فقط بتونه 4 رقم بعد رو تغییر بده ممنون میشم راهنمایی کنید.

Mahmoud Zaad
دوشنبه 11 اردیبهشت 1391, 17:13 عصر
سلام
اگه الزامی به استفاده از تکست باکس نیست از maskedTextBox استفاده کن.

nikarad
سه شنبه 12 اردیبهشت 1391, 09:10 صبح
نمی شه از maskedTextBox استفاده کنم باید تکست باکس باشه کسی نمی دونه باید چیکارکنم؟

tehran11
سه شنبه 12 اردیبهشت 1391, 12:41 عصر
این کد رو رویداد TextChanged وارد کنید :

private void textBox1_TextChanged(object sender, EventArgs e)
{
if (!textBox1.Text.StartsWith("1234"))
{
textBox1.Text = "1234";
textBox1.SelectionStart = 4;
textBox1.Select();
}
}

nikarad
سه شنبه 12 اردیبهشت 1391, 21:38 عصر
این کد رو رویداد TextChanged وارد کنید :

private void textBox1_TextChanged(object sender, EventArgs e)
{
if (!textBox1.Text.StartsWith("1234"))
{
textBox1.Text = "1234";
textBox1.SelectionStart = 4;
textBox1.Select();
}
}

ممنون ولی من مشکلم حل نشد کسی نمی دونه چه دستوری جواب می ده؟

Mahmoud.Afrad
سه شنبه 12 اردیبهشت 1391, 22:05 عصر
مشکلی نداره. میتونید خط
textBox3.Text = "1234"; رو در لود فرم قرار بدید تا همون ابتدا متن داخلش قرار بگیره در رویداد تکست چنج هم کد بالا رو قرار بدید.

wolf_majid
چهارشنبه 13 اردیبهشت 1391, 08:04 صبح
نمی دونم این روش درستی هست یا نه
اما کارت رو راه می ندازه
تکست باکس مورد نظرت رو readonly کن و کد زیر را براش استفاده کن
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
switch (e.KeyChar)
{
case ((char)Keys.Back):
if (textBox1.TextLength > 4)
textBox1.Text = textBox1.Text.Substring(0, textBox1.TextLength - 1);
break;
default:
textBox1.Text += e.KeyChar.ToString();
break;
}
}

nikarad
چهارشنبه 13 اردیبهشت 1391, 20:12 عصر
ممنون این کد خوبه اون قسمت رو غیر قابل ویرایش می کنه ولی وقتی کاربر می خواد بقیه اعداد رو تغییر بده از هر عدد 2 وارد می شه چی کار کنم؟

Alghoochi
پنج شنبه 14 اردیبهشت 1391, 00:07 صبح
ممنون این کد خوبه اون قسمت رو غیر قابل ویرایش می کنه ولی وقتی کاربر می خواد بقیه اعداد رو تغییر بده از هر عدد 2 وارد می شه چی کار کنم؟

من امتحان کردم جواب می‌ده. مشکلی نداره