View Full Version : سوال: چند تا مشکل با TextBox ها
water_lily_2012
پنج شنبه 24 آذر 1390, 16:21 عصر
سلام
چند تا مشکل با TextBox ها دارم.
1- چگونه می شود با زدن Enter بین تکس باکس ها حرکت کرد. البته نمی خواهم برای هر تکس باکس کد بنویسم. (یک تابع برای تمام تکس باکس ها)
2- چه کار کنم که کاربر نتواند فاصله (Space) وارد کند.
مهدی فرزاد
پنج شنبه 24 آذر 1390, 21:26 عصر
سلام
هر چند این سئوال تکراری بود اما چون خیلی قدیمی بود و الان کاربران جدید به تالار اضافه شده بازم تکرار میکنم
برای اینکه بخوای با زدنه دکمه اینتر بین تکس باکس ها حرکت کنی و نیاز هم نباشه برای همه اونها کد بنویسی در اونت KeyDown مربوط به Panel که تکس باکس ها در اون هستن کد زیر رو بنویس
private void Panel_KeyDown(object sender, KeyEventArgs e)
{
var uie = e.OriginalSource as UIElement;
switch (e.Key)
{
case Key.Enter:
e.Handled = true;
uie.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
break;
case Key.Escape:
e.Handled = true;
uie.MoveFocus(new TraversalRequest(FocusNavigationDirection.Previous ));
break;
}
}
البته کد بالا با زدن دکمه Escape به عقب هم بر میگرده
برای اینکه Space رو قبول نکنه در اونت PreviewKeyDown تکس باکست بنویس
private void TextBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
switch (e.Key)
{
case Key.Space:
e.Handled = true;
break;
}
}
و اگر میخوای چند تکس باکس با هم این کار رو انجام بدن میتونی این کار رو برای اونت PreviewKeyDown مربوط به panel که اونها رو در برگرفته انجام بدی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.