PDA

View Full Version : حرکت بین textboxها با کلیدهای جهت نما و enter



tvihnshvh
دوشنبه 01 مهر 1392, 15:12 عصر
با سلام
یه راهنمایی در مورد حرکت بین textbox ها با کلیدهای جهت نما و زدن دکمه با enter می خواستم البته در سی شارپ

amir200h
دوشنبه 01 مهر 1392, 15:16 عصر
private void txttolid_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
txtengheza.Focus();
}
if (e.KeyCode == Keys.Left)
{
txtanbar.Focus();
}
if (e.KeyCode == Keys.Right)
{
txtlname.Focus();
}
if (e.KeyCode == Keys.Down)
{
txtengheza.Focus();
}
if (e.KeyCode == Keys.Up)
{
txttarkibat.Focus();
}
}

shahryari
دوشنبه 01 مهر 1392, 15:24 عصر
ضمن تایید حرفهای دوستمون ، و باتوجه به اینکه قبلا پاسخ داده شده اما به روش زیر هم میتونی عمل کنی و حرفه ای تره:
ابتدا هرچی تکست باکس داری روی فرم ، با استفاده از کلید ctrl بصورت انتخاب شده در بیار
در قسمت اوینت ها ، روی رویداد keydown دوبار کلیک کن تا یک رویداد مشترک کی داون برای همه تکست های انتخاب شده ایجاد شود
در رویداد ایجاد شده کدهای زیر را به رشته تحریر دربیاور

if (e.KeyCode == Keys.Enter )
{
e.SuppressKeyPress = true;
ProcessTabKey(true);
}

tvihnshvh
سه شنبه 02 مهر 1392, 08:21 صبح
با سلام
سی شارپ از SuppressKeyPress ایراد می گیره

shahryari
سه شنبه 02 مهر 1392, 09:12 صبح
با سلام
سی شارپ از SuppressKeyPress ایراد می گیره
....
....:متفکر:
ایراد چی دوست دوست عزیز؟؟؟در همه پروژه هام از این کد استفاده میکنم
ببینم نکنه در رویداد keypress نوشتی؟؟؟ اگر اینکار رو کرده باشی 100 ایراد میگیره
باید در رویداد keydown بنویسی

behzadkhatari
چهارشنبه 03 مهر 1392, 07:58 صبح
باید TabIndex کنترل هات رو به ترتیب مرتب کنی و سپس از کد زیر استفاده کن


if (e.KeyCode == Keys.Enter )
{
SelectNextControl(this.ActiveControl, true, true, true, false);
}