PDA

View Full Version : سوال: قطع صدای Beep هنگام زدن Enter



Fastdesign
پنج شنبه 08 دی 1390, 13:10 عصر
سلام
با این کد هنگام برای پریدن از یک TextBox به TextBox دیگه استفاده می کنم :
if (e.KeyCode==Keys.Enter)
textBox2.Focus();
ولی وقتی Enter می زنم صدای Beep می ده !
آیا میشه این صدا را حذف کرد؟

abdullah20
پنج شنبه 08 دی 1390, 13:27 عصر
در رویداد keyDown می نویسیم

if (e.KeyCode == Keys.Enter)

e.SuppressKeyPress = true;


و سپس عملی که بعد از فشردن کلید Enter قصد انجام شدن ان را داریم در رویداد keyUp می نوسیم

Fastdesign
پنج شنبه 08 دی 1390, 22:59 عصر
این جور که شما فرمایش کردید بعد از نوشتن یک کاراکتر هر عملی که در رویداد keyUp باشه انجام میشه و با هر کلیدی کار می کنه ؟

روش بهتری سراغ ندارین؟

zarrinnegar
جمعه 09 دی 1390, 00:02 صبح
بجای استفاده از focus از ارسال tab استفاده کنید البته توی keydown


if (e.KeyCode == Keys.Return)
SendKeys.Send("{TAB}");


البته tabindex ها رو برای اشیاء باید تنظیم کنی که بعد از اینتر زدم روی شیئ اول دومی کدومه سومی کدومه و...

abdullah20
جمعه 09 دی 1390, 10:59 صبح
این جور که شما فرمایش کردید بعد از نوشتن یک کاراکتر هر عملی که در رویداد keyUp باشه انجام میشه و با هر کلیدی کار می کنه ؟

روش بهتری سراغ ندارین؟

خوب باید شرط کلید Enter را بزارید تا فقط با فشردن کلید Enter ان عمل اجرا شود روشی که zarrinnegar گفتند هم درسته ولی فقط برای ارسال Tab است و باز هم صدای Beep شنیده می شود و باید از e.SuppressKeyPress = true; هم استفاده شود
این روش که من گفتم برای تمام کارهایی که می خواهید بعد از فشردن کلید Enter انجام دهید و صدای Beep شنیده نشود امکان پذیر است.