你知道如何限制用户在文本框中的输入,这个文本框只接受整数吗?顺便说一下,我正在为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. 如何在C++中只接受整数
- 5. 如何使文本框数组只接受特定的字母?
- 6. WPF文本框不接受删除键
- 7. 如何让文本框只接受数字字符?
- 8. 如何使文本框场只接受十进制值jQuery中
- 9. 文本输入框只接受Backspace
- 10. 如何让文本框只接受有效的电子邮件?
- 11. 只允许文本框中的整数
- 12. 创建仅接受文本的WPF文本框
- 13. 如何强制文本框只采用WPF中的数字?
- 14. 如何让文本框只接受字母字符?
- 15. 如何使文本框只接受字母字符
- 16. VB文本框只接受数字的概率
- 17. 如何使文本框只接受数字并用逗号格式化数字?
- 18. 只为数字掩盖文本框,但不会接受BackSpace
- 19. 使VBA表单文本框只接受数字(包括+, - 和)
- 20. 限制文本框只接受10位数字
- 21. 我想作一个EditFor文本框接受数字只
- 22. 如何验证文本框只接受vb2010中的电子邮件ID
- 23. 文本框接受数值仅
- 24. 接受在文本框中只有字符输入
- 25. 只接受整数为井字
- 26. Rails表格只接受整数
- 27. 如何确保一个函数只接受一个正整数?
- 28. MIPS汇编 - 如何只接受1到15之间的整数?
- 29. 如何验证只能接受整数的空textField?
- 30. shell脚本(bash) - 只接受正整数或逗号分隔的正整数
有你看着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