PDA

View Full Version : سوال: غیر فعال کردن Key Auto Repeat در Textbox



erroric
شنبه 31 فروردین 1392, 20:55 عصر
با سلام خدمت تمامی اساتید و دوستان.

سوالم اینه که چجوری میشه Key Auto Repeat رو در یه Textbox از کار انداخت. یعنی مثلاً اگه کاربر کلید A رو پایین نگه داشت برای چند ثانیه، داخل Textbox فقط یک حرف A باشه و مثلاً تبدیل به AAAAAAAAAA نشه. ممنون میشم راهنمایی بفرمایید. با سپاس

aliasghar2
شنبه 31 فروردین 1392, 21:06 عصر
توی keypressاینو بنویس
if (textBox1.Text.Contains(e.KeyChar))
e.Handled = true;

erroric
یک شنبه 01 اردیبهشت 1392, 08:31 صبح
ممنون دوست عزیز، درست شد. لطف کردین

erroric
یک شنبه 01 اردیبهشت 1392, 15:08 عصر
توی keypressاینو بنویس
if (textBox1.Text.Contains(e.KeyChar))
e.Handled = true;
داداش فقط یه مشکل جدید به وجود اومده اونم اینه که دو تا حرف یه جور رو نمی شه پشت سر هم زد. از تکرار یک حرف جلو گیری می کنه. راهی به نظرتون می رسه؟
مثلاً اگه حرف d رو وارد کنی دوباره نمی تونی پشتبندش حرف d رو وارد کنی

aliasghar2
یک شنبه 01 اردیبهشت 1392, 15:37 عصر
ببخشید منظورت رو بد متوجه شده بودم اینم کد
Keys k = new Keys();
bool stopkey = false;
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (stopkey == true)
e.Handled = true;
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == k)
{
stopkey = true;
}
else
{
stopkey = false;
k = e.KeyCode;
}

//e.Handled = true;
}
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
k = new Keys();
}