你知道如何限制用戶在文本框中的輸入,這個文本框只接受整數嗎?順便說一下,我正在爲Windows 8開發。我嘗試過從搜索結果和谷歌搜索的內容,但它不起作用,如何只接受WPF文本框中的整數
1
A
回答
0
您可以使用一個整數向上控制。還有一個在WPF工具包,將這樣的伎倆:
https://wpftoolkit.codeplex.com/wikipage?title=IntegerUpDown
1
在最原始級可以攔截KeyUp
事件或TextChanged
看到的是被添加了什麼字符,並刪除它,如果它不能被解析到詮釋。
還要檢查 - Only accept digits for textbox 和Masking Textbox to accept only decimals
4
如果你不想下載WPF工具包(它有兩個IntegerUpDown控制或MaskedTextBox中)。你可以自己實現在本article
看到這裏,你會放什麼東西在自己的窗口:
<Window x:Class="MaskedTextBoxInWPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Masked Text Box In WPF" Height="350" Width="525">
<Grid>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="98,80,0,0" Name="textBlock1" Text="Enter Value:" VerticalAlignment="Top" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="184,80,0,0" Name="textBoxValue" PreviewTextInput="textBoxValue_PreviewTextInput" DataObject.Pasting="textBoxValue_Pasting" VerticalAlignment="Top" Width="120" />
</Grid>
</Window>
,然後實現在您的代碼隱藏在C#:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void textBoxValue_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
e.Handled = !TextBoxTextAllowed(e.Text);
}
private void textBoxValue_Pasting(object sender, DataObjectPastingEventArgs e)
{
if (e.DataObject.GetDataPresent(typeof(String)))
{
String Text1 = (String)e.DataObject.GetData(typeof(String));
if (!TextBoxTextAllowed(Text1)) e.CancelCommand();
}
else
{
e.CancelCommand();
}
}
private Boolean TextBoxTextAllowed(String Text2)
{
return Array.TrueForAll<Char>(Text2.ToCharArray(),
delegate(Char c) { return Char.IsDigit(c) || Char.IsControl(c); });
}
}
+0
設置一個掩碼將嘗試這一點。謝謝! – Dunkey 2013-02-11 15:07:42
5
public class IntegerTextBox : TextBox
{
protected override void OnTextChanged(TextChangedEventArgs e)
{
base.OnTextChanged(e);
Text = new String(Text.Where(c => Char.IsDigit(c)).ToArray());
this.SelectionStart = Text.Length;
}
}
相關問題
- 1. 如何創建只接受數字的文本框和只接受WPF中的字母的文本框?
- 2. 只接受文本框中的數字
- 3. Silverlight文本框只接受小數點
- 4. 屏蔽文本框只接受小數
- 5. 文本框PreviewTextInput - 只接受數字和「:」
- 6. 如何在C++中只接受整數
- 7. 文本框只能接受整數從00 - 60
- 8. 如何使文本框數組只接受特定的字母?
- 9. 如何使文本框只接受基於條件的數字?
- 10. 如何確保文本框只接受整數(而不是字符串)
- 11. WPF文本框不接受刪除鍵
- 12. 如何讓文本框只接受數字字符?
- 13. 如何製作只接受c#中的數字和小數點的文本框?
- 14. 如何使文本框場只接受十進制值jQuery中
- 15. 文本輸入框只接受Backspace
- 16. 文本框應該只接受日期
- 17. 如何讓文本框只接受有效的電子郵件?
- 18. 只允許文本框中的整數
- 19. 創建僅接受文本的WPF文本框
- 20. 如何強制文本框只採用WPF中的數字?
- 21. 如何讓文本框只接受字母字符?
- 22. 如何使文本框只接受字母字符
- 23. 如何強制文本框只接受字符串
- 24. 的Windows 8 - 文本框只接受數字出錯
- 25. VB文本框只接受數字的概率
- 26. Windows 8的 - 使文本框只接受數字
- 27. 如何使文本框只接受數字並用逗號格式化數字?
- 28. 輸入文本只接受數字
- 29. System.out.printIn()如何接受整數?
- 30. 如何使文本框文本爲WPF中的超鏈接
有你看着char.IsNumeric方法..?在按鍵或按鍵事件中檢查。 – MethodMan 2013-02-11 14:26:33
是我有一個警告消息keychar沒有被發現 – Dunkey 2013-02-11 15:07:14
更好地顯示一些代碼..因爲有KeyEvents,你可以用它來獲得...如果不是,也許你需要在該字段 – MethodMan 2013-02-11 15:40:45