首页 > 解决方案 > 如何在c#中将texbox格式化为NIC格式

问题描述

我正在用 c# 做一个项目。我包括了人员的详细信息。详细信息包含名称、f/name 和 NIC 编号。NIC 号码是一个国家的国民身份证,其格式为 21201-1234567-7。

现在我怎么能做到这一点?在 textboxtextchangeevent 下,我想执行此任务。我尝试了以下代码,但它给了我错误:

指定的参数超出了有效值的范围。参数名称:startIndex

private void textBox2_TextChanged(object sender, EventArgs e)
{
    try
    {
        string text = textBox2.Text;
        string deshsign = "-";
        string c = text.Insert(5, deshsign);
        textBox2.Text = c;
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

标签: c#winforms

解决方案


对于未来的读者,解决方案是在 winform、wpf 或 asp.net 页面/表单中添加一个 MaskedTextBox 控件。

使用 NIC 掩码设置 MaskedTextBox Mask属性:

maskedTextBox1.Mask = "00000-0000000-0";

推荐阅读