c# - 如何在 C# 中格式化 NIC 格式的 texbox

标签 c# winforms

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

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

Specified argument was out of the range of valid values. Parameter name: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);
    }
}

最佳答案

对于 future 的读者,解决方案是将 MaskedTextBox 控件添加到 winform、wpf 或 asp.net 页面/表单。

设置 MaskedTextBox Mask带有 NIC 掩码的属性:

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

关于c# - 如何在 C# 中格式化 NIC 格式的 texbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50673112/

相关文章:

c# - WPF ListView 键盘导航问题

c# - 在 C# 中使用值类型作为引用类型的可能性

c# - 使用 Fluent nhibernate 配置自动收缩 sqlite 数据库文件

c# - VC# 多鼠标

c# - 我如何确定哪个按钮调用了事件处理程序?

c# - 在表单构造函数中的面板上绘图

c# - 在 C# Stream 中延迟转换数据

c# - .NET 空闲内存使用(如何防止过度分配/释放内存给操作系统)

c# - 如何调试winforms设计器

Windows 10 Creators Update 更改 PropertyGrid 控件的样式