MaskedTextBox 不显示起始字符

MaskedTextBox does not showing starting characters

我有 C# DotNet Windows 申请表


在我的应用程序中有两个 MaskedTextBox,它们显示不同的值。

属性 掩码 1

属性 面具 2

第一个 MaskedTextBox 有 Mask,第二个没有 Mask,其余 属性 相同。

我想将 "ASHISH P" 之类的值显示为 MASK 2 文本框(如图所示)。 设置了 Mask 后,我不想更改 MaskedTextBox 的宽度。

如何解决这个问题?

我只是尝试了一下 MaskedTextBox 属性,它看起来是控件的默认行为并且与 Width 相关。因此,当要显示的文本长度超过控件宽度的比例时,将显示接近尾部的文本。

我设法利用 maskedTextBox.Select 属性 手动将 移动到以下代码行的第一个字符;

maskedTextBox1.Select(0, 1);

上面一行选择了控件的第一个字符,它可以显示输入文本/选择的开始。该代码应从 maskedTextBox1.Leave 事件中调用。如果您的应用程序在应用程序/屏幕开始时显示一些数据,那么也必须从 Form.Load 事件中调用相同的数据。

试试这个,只需要复制和粘贴,它对我来说很完美......实际上改变你的 mtb 标签......

private void maskedTextBox_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
    {
        this.Text = "Error: " +
    e.RejectionHint.ToString() +
    "; position: " +
    e.Position.ToString();
    }