【问题标题】:Can a winform's MaskedTextBox allow spaces?winform 的 MaskedTextBox 可以允许空格吗?
【发布时间】:2011-12-02 00:02:42
【问题描述】:

我有一个动态创建的表单,其中添加了许多蒙版文本框并设置了它们的属性(如下面的代码所示)。

如果需要 10 个字符,则代码需要验证输入的文本长度是否为 10。但允许用户在开头或结尾输入空格以组成这 10 个字符。

maskedtextbox 似乎没有保留这些,或者至少我设置属性的方式没有保留它们(也许 b/c 我设置了“C”?)

我可能只是在属性中设置了一些不正确的东西……比如 AllowPromptAsInputTextMaskFormat 或其他一些属性,以允许这样做。

另外,我不想使用空格作为“PromptChar”,因为我希望用户看到要输入的字符数。

private void SetupMaskedTextBox(int allowedChars)
{
    const char promptCharSquare = '\u25A1';
    maskedTextBox.PromptChar = promptCharSquare;
    string msk = null;
    for (int i = 0; i < allowedChars; i++) {
        msk += "C";
    }
    maskedTextBox.Mask = msk;
    maskedTextBox.AllowPromptAsInput = true;
    maskedTextBox.TextMaskFormat = MaskFormat.IncludePromptAndLiterals;
}

【问题讨论】:

    标签: .net winforms maskedtextbox


    【解决方案1】:

    你需要这条线:

            maskedTextBox.ResetOnSpace = false;
    

    这有点奇怪。 MSDN says to use:

    如果空格输入字符导致当前可编辑位置,则为真 在要重置的掩码中;否则,false 表示它是 作为普通输入字符处理。默认为真。

    【讨论】:

      猜你喜欢
      • 2016-10-07
      • 2014-08-28
      • 1970-01-01
      • 1970-01-01
      • 2017-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多