VB.NET MaskedTextBox 中的占位符

VB.NET Placeholder in MaskedTextBox

我有一个带有以下掩码的掩码文本框:999999。我想在 HTML 中添加类似 placeholder 的内容,以帮助最终用户了解掩码我的蒙面文本框。

我认为我可以在加载表单并将文本 属性 设置为 "YYYYMM"(我需要的占位符)时创建一个特定的掩码,当用户输入控件时,重置文本并将掩码更改为 999999。但是,我认为有更好的解决方案。

我发现有些人在谈论水印控制,但我想找到更容易使用的东西。

如有任何帮助,我们将不胜感激。谢谢

按照建议,使用 DateTimePicker,这是最简单的方法。

但是,按照问题的要求去做...

Form_Load 上,设置 MaskedTextBox1.Text = "YYYYMM"

然后,要得到当控件处于焦点时将掩码更改为 999999 的效果,使用 MaskedTextBox1_GotFocus 方法并使用 MaskedTextBox1.Text = "999999".

正如 tinstaafl 在评论中所建议的,我使用了 DateTimePicker 而不是 MaskedTextBox。

我更改了它的属性:

CustomFormat = yyyMM
Format = Custom
ShowUpDown = True

这样,我就有了类似于文本框的东西,我可以 select 仅年份或月份,并使用向上和向下按钮增加它。