无法隐式转换类型'字符串'到' int'输入可以是数字或字母数字。

时间:2015-05-20 20:39:15

标签: c# maskedtextbox

我试图制作一个已经设置了部分值的蒙版文本框,然后用户需要再输入4位数字然后允许它发送出去。我在努力解释时遇到了困难,但现在看来它是什么样的参考:

private void maskedTextBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if(e.KeyCode == Keys.Enter && maskedTextBox1.Text.Length == ("007744D4 0131").Length + 4)
        {
            NCInterface.ConstCodeAdd(codes[maskedTextBox1.Text], true);
        }
    }

现在它有NCInterface的最后一部分,就是它被发送到PS3控制台的地方,我需要知道如何确保maskedTextBox1.Text正确转换。 maskedTextBox需要能够接受数字和字母。我没有什么可以真正地将它与...进行比较。但是这就是它的发送地点。但它只是说它不能将类型字符串转换为int。因此,如果有人能够帮助我,我将非常感激。

2 个答案:

答案 0 :(得分:1)

根据您的错误,您可能会这样做:

NCInterface.ConstCodeAdd(int.Parse(codes[maskedTextBox1.Text]), true);

答案 1 :(得分:0)

您需要做的是使用TryParse

string testString = maskedTextBox1.Text;
int numberTest;
if(int.TryParse(testString, out numberTest)
{
      NCInterface.ConstCodeAdd(numberTest, true); 
}