[英]C# Reading Textbox ignoring characters
大家好,我有一个按键事件如下
if (e.KeyCode == Keys.C && e.KeyCode == Keys.Enter || e.KeyCode == Keys.Return)
{
var amount = textBox1.Text;
var total = label3.Text;
decimal damount = Math.Round(Convert.ToDecimal(amount), 2);
decimal dtotal = Convert.ToDecimal(total);
var ntotal = dtotal - damount;
var ndue = Math.Round(Convert.ToDecimal(ntotal), 2);
var ntotal1 = Convert.ToString(ndue);
if (ndue <= 0)
{
panel4.Show();
label4.Text = ntotal1;
}
else
{
label3.Text = ntotal1;
}
textBox1.Text = "";
textBox1.Focus();
}
这个事件的工作方式就像我想要的但是这里是我的问题我在阅读textbox1.text时如何忽略c或a之类的字符,因为keydown需要c它与我的十进制转换混淆任何建议
添加e.SuppressKeyPress = true; e.Handled = true;
e.SuppressKeyPress = true; e.Handled = true;
当你想阻止按键继续前进时,你的处理程序。
if (e.KeyCode == Keys.Return)
,你的if语句等同于if (e.KeyCode == Keys.Return)
,因为它永远不会等于C
和Enter
。
前段时间我写了一篇关于将用户输入限制为TextBoxes的简短帖子,可以在这里找到( 限制TextBox中允许的字符 ),但我意识到它没有处理的一件事是用户将包含这些字符的文本粘贴到TextBox中以下内容对您有用( 阻止某人粘贴到TextBox中 )。 这两个帖子都是用VB.NET编写的,但代码很简单,你不应该把代码转移到C#上。
希望这可以帮助 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.