任意字符-屏蔽文本框

本文关键字:文本 屏蔽 字符 任意 | 更新日期: 2024-10-19 08:36:05

我正在用Visual Studio 2012用C#编写一个应用程序,我需要使用MaskedTextBox格式化一些输入文本。用户会在文本框中键入文件夹路径,但由于文件夹路径是相对于另一个路径的,我需要它以".''"开头,但我不在乎路径有多长。

现在,我已经将长方体的掩码设置为'.''CCCCCCCCCCCCCCCCCC。这很好,只是当用户单击框时,它会将光标放在他们单击的位置,而不是框的开头。

有没有办法将掩码设置为仍然放在".''"中,但不对后面的字符设置任何限制?

还是有一种我可以俯瞰的方式?

编辑:更多信息

所以我尝试了一些推荐的东西,但它们似乎不起作用。这里链接的答案不太好用。虽然我可以在单击框时将其设置为转到该选择点,但每次您需要单击框时,它都会转到该点。因此,您无法选择整个框或编辑您键入的内容的一部分,这对可用性来说更糟。

我也尝试了阿德尔莫建议的方法。我做了一个这样的偶数处理程序:

public Form1()
{
    InitializeComponent();
    refreshList();
    this.textBoxPrintFolder.GotFocus += new EventHandler(textBoxPrintFolder_GotFocus);
}
private void textBoxPrintFolder_GotFocus(object sender, EventArgs e)
{
    this.textBoxPrintFolder.Select(2, 0);
}

这在切换到框时有效,但显然单击框不会进入GotFocus事件。

我还尝试过使用MouseEnter事件。虽然它确实起作用,但它需要几秒钟才能移动。不理想。

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

任意字符-屏蔽文本框

可能使用onFocus事件:

您可以通过TextBox.SelectionStart和TextBox.SlectionLength属性控制光标位置(和选择)。

如果要将光标移动到第3个字符集SelectionStart=2和SelectionLength=0之前的示例。

http://social.msdn.microsoft.com/Forums/en-US/04362a62-8cbf-4d86-a1bc-2aba8e4978ca/cursor-position-in-textbox

希望它能帮助你