我正在使用我正在编码的Windows Phone 7应用程序出现问题(使用Visual Studio 2010)。我的代码如下所示:
private void Key1Input_TextChanged(object sender, EventArgs e)
{
string hexOnly= Key1Input.Text;
int n = 0;
if (!int.TryParse(hexOnly, System.Globalization.NumberStyles.HexNumber, System.Globalization.NumberFormatInfo.CurrentInfo, out n) &&
hexOnly!= String.Empty)
{
Key1Input.Text = hexOnly.Remove(hexOnly.Length - 1, 1);
Key1Input.SelectionStart = Key1Input.Text.Length;
}
}
代码工作正常,但是当我尝试将第9个字符插入文本框时,它没有显示出来。我的文本框的Maxlength值是12.在向代码插入一些断点并调试应用程序之后,我注意到当有8个十六进制数字并尝试输入更多时,它会进入if语句。我做错了什么,或者WP7有哪些限制。
我还尝试了来自同一网站的其他2个代码。第二个是有效的,而第三个没有。
答案 0 :(得分:1)
最小的8位十六进制数是F0000000
,大于Int32.MaxValue
。请尝试使用long
代替int
。