من از WPF سی شارپ استفاده میکنم
یک تکست باکس عددی دارم میخوام فقط اعدا وارد اون بشه نه چیزه دیگه ای
این کار رو توی ورودی تکست باکس انجام دادم , ولی وقتی کاربر میاد یه چیزی از Clipboard توی تکست باکس Paste میکنه
نرم افزار کرش میکنه
private void MyTextbox2_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
e.Handled = new Regex("[^0-9]+").IsMatch(MyTextbox2.Text);
}
توی ویندوز فرم میشد با TextBoxMask جلوی این کار ها رو گرفت اما توی WPF نمی دونم چجوری عمل میکنه
حالا برای حل این مشکل که : از ورود اطلاعتی که متفاوت با اون چیزی که ما میخوایم باشه جلوگیری کنیم , یا به عبارت دیگه :
نحوه استفاده از TextBoxMask در WPF سی شارپ
سلام
اول از همه این کد رو توی PreviewTextInput تکست باکستون بنویسید:
private void MyTextbox2_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
//عبارت باقاعده
Regex regex = new Regex("[^0-9]");
e.Handled = regex.IsMatch(e.Text);
}
در مرحله بعد قبل از Window_Loaded این کد رو بنویس:
private void Foo(object sender, ExecutedRoutedEventArgs e)
{
e.Handled = true;
}
در آخر هم توی Window_Loaded این کد رو بنویس:
MyTextbox2.CommandBindings.Add(new CommandBinding(ApplicationCommands.Paste, Foo));
این کار باعث پیست نشدن در تکست باکس میشه.
این کد رو هم در PreviewKeyDown تکست باکستون بنویسید تا از دکمه Space جلوگیری کنه که به مشکل برنخوری:
private void MyTextbox2_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Space)
e.Handled = true;
}
تمام.
(بکوبین لایکو)
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1160
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
597
- پاسخ :
1
|
تاریخ :
1403/07/13
- ساعت :
12:06:00 PM
- بازدید :
349
- پاسخ :
1
|
تاریخ :
1403/06/24
- ساعت :
08:52:00 PM
- بازدید :
318
- پاسخ :
1
|
تاریخ :
1398/09/14
- ساعت :
01:58:00 PM
- بازدید :
4268
- پاسخ :
1
|
تاریخ :
1398/09/16
- ساعت :
11:41:00 AM
- بازدید :
4282
- پاسخ :
1
|
تاریخ :
1398/09/07
- ساعت :
02:15:00 PM
- بازدید :
3875
- پاسخ :
5
|
تاریخ :
1403/05/16
- ساعت :
05:43:00 AM
- بازدید :
660
- پاسخ :
0
|
تاریخ :
1398/09/05
- ساعت :
06:04:00 PM
- بازدید :
3172
- پاسخ :
2
|
تاریخ :
1398/09/08
- ساعت :
11:38:00 PM
- بازدید :
3251
- پاسخ :
1
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2008
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
75
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
109
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1033
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
429
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4798
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1160
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
597
- پاسخ :
1
|