任何字符 - 蒙面文本框

时间:2013-12-17 18:35:26

标签: c# visual-studio visual-studio-2012 maskedtextbox

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

现在,我为\.\\CCCCCCCCCCCCCCCCCC的方框设置了掩码。这种方法很好,除了当用户点击框时,它将光标放在他们点击的位置而不是框的开头。

有没有办法将掩码设置为仍然放在“。\”中,但是不对其后面的字符设置任何限制?

或者有什么方法我可以俯视吗?

编辑:更多信息

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

我也尝试过Adelmo建议的方法。我做了一个像这样的偶数处理程序:

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事件。虽然它确实有效,但它需要几秒钟才会移动。不理想。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

也许使用onFocus事件:

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

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

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

希望对你有帮助