PDA

View Full Version : حركت بين كنترلها بازدن enter



mahdidabaghi
پنج شنبه 26 خرداد 1390, 18:57 عصر
من چنئتا نمونه ديدم مثل

if( e.Keychar == 13)
NextControl.Focus();
ولي Keychar رو ارور ميذه
ميشه بفرمايين رفرنس مربوط به Keycharچيه؟

Farshid007
پنج شنبه 26 خرداد 1390, 19:01 عصر
key char رفرنس نداره باید تو keyDown نوشته بشه!

Esmail Solhkhah
پنج شنبه 26 خرداد 1390, 19:02 عصر
تو رویداد KeyPress کنترلهات بنویس


if (e.KeyChar == (char)Keys.Enter)
SelectNextControl(this.ActiveControl, true, true, true, true);



البته باید TabIndex کنترلهاتو مرتب کنی

Farshid007
پنج شنبه 26 خرداد 1390, 19:03 عصر
واسه اینکه بره به کنترل بعدی باید Tab بزنی که اون هم اینجوری امکان پذیره:
if (e.KeyCode == Keys.Enter)
{
SendKeys.Send("{Tab}");
}

Farshid007
پنج شنبه 26 خرداد 1390, 19:04 عصر
تو رویداد KeyPress کنترلهات بنویس


if (e.KeyChar == (char)Keys.Enter)
SelectNextControl(this.ActiveControl, true, true, true, true);



البته باید TabIndex کنترلهاتو مرتب کنی


چقدر مطلبو گندش کردید!

Esmail Solhkhah
پنج شنبه 26 خرداد 1390, 19:06 عصر
کجاش گنگه ؟:متعجب:

Esmail Solhkhah
پنج شنبه 26 خرداد 1390, 19:09 عصر
اینم سادش

if (e.KeyChar == '\r')
textBox2.Focus();

Farshid007
جمعه 27 خرداد 1390, 18:19 عصر
کجاش گنگه ؟:متعجب:
گنگ نه گنده(به معنی بزرگ)

Felony
جمعه 27 خرداد 1390, 18:28 عصر
گنگ نه گنده(به معنی بزرگ)
اینجوری برنامه هاتو می نویسی دیگه؟
در بیشتر برنامه هایی که کاربر باید فیلدهای زیادی رو پر کنه ترتیبی میدهند که کلید Enter کار کلید Tab رو انجام بده چون کاربر به فشردن اون عادت داره و براش کار کردن راحت تره و در عین حال ترتیبی میدهند که کلید Tab در برنامه از کار بیافته که در این صورت کد ایشون درست هست نه کد شما چون کد شما فشرده شدن کلید Tab رو شبیه سازی میکنه و در عین حال کلید Tab برای برنامه معنی نداره !

Farshid007
جمعه 27 خرداد 1390, 18:34 عصر
خوب تب هم می ره به کنترل بعدی(از نظر تب ایندکس)
چه فرقی می کنه؟
چرا من هر کدی می دم همه مخالفش می شن؟

Felony
جمعه 27 خرداد 1390, 18:56 عصر
خوب تب هم می ره به کنترل بعدی(از نظر تب ایندکس)
چه فرقی می کنه؟
چی چه فرقی میکنه ؟
از نظر کاربر ؟ گفتم که کاربران برنامه های روزمره مثل حسابداری یا ... با فشردن Enter میونه بهتری دارن .
از نظر برنامه نویسی ؟ گفتم که اگر کلید Tab رو در برنامه غیر فعال کنیم دیگه کد شما کار نمیکنه چون داره به صورت مجازی کلید Tab رو فشار میده و کلید Tab هم در برنامه شما غیر فعال !


چرا من هر کدی می دم همه مخالفش می شن؟
والا من تا جایی که یادمه اولین بار هست پستی از شما میبینم ، الکی هم مخالفت نکردم ، گفتم در حالت عادی کد شما هم درسته ولی اگر قرار باشه کلید Tab غیر فعال بشه کد شما کاربردی نداره و کدی که در پست 3 ارائه شد درست هست ، SelectNextControl با توجه به TabIndex و TabStop کنترل ها عمل Focus رو انجام میده ، ok ؟

Farshid007
جمعه 27 خرداد 1390, 20:20 عصر
من غلط کردم
دیگه سعی می کنم پستی ندم
اصلا واسه چی با زندن اینتر بری به کنترل بعدی
خود ماکرو سافت زحمتشو کشیده تب و تب ایندکس گذاشته!:لبخند:

banitaba.ommolketab
پنج شنبه 18 اسفند 1390, 09:57 صبح
توی رویداد keydown بنویس

if (e.KeyCode == Keys.Enter)
button1.Focus();