- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想在单击(或制表符)控件时选择 MaskedTextBox
的所有内容,以便它们可以轻松替换旧内容。我尝试在 Enter
事件中调用 SelectAll()
,但这根本不起作用。
我切换到使用 GotFocus
事件,它在通过控件切换时效果很好,但在我用鼠标单击它时不起作用。我只想在第一次进入/聚焦控件时选择所有内容(随后的点击可能用于定位光标以编辑现有文本)。
我添加了一个按钮,并尝试在按钮单击事件中调用 SelectAll()
,但这也没有做任何事情。这是怎么回事?这是错误吗?
我该如何解决这个问题?
重现步骤
TextBox
、MaskedTextBox
和Button
Mask
属性更改为“_____”。 添加一些事件处理程序:
private void maskedTextBox1_GotFocus(object sender, EventArgs e)
{
Debug.WriteLine("GotFocus");
maskedTextBox1.SelectAll();
}
private void button1_Click(object sender, EventArgs e)
{
Debug.WriteLine("Click");
maskedTextBox1.SelectAll();
}
运行程序,将一些数据输入到 MaskedTextBox 中,然后通过控件切换回它。它选择 MaskedTextBox 的内容。
GotFocus
事件,但未选择文本。在 Windows 窗体应用程序项目中使用 .NET 4.0 在 Visual Studio 2010 中测试
为什么这不是 TextBox.SelectAll() does not work with TAB 的副本
如果您注意到,标题是“SelectAll doesn't work with TAB”。在我的例子中,它确实与 Tab 一起工作,它不与鼠标一起工作——完全相反的情况。该问题的答案是使用 GotFocus
事件。我已经在使用 GotFocus
事件,但它不起作用。该答案没有回答这个问题。这显然不是重复的。如果我错了,请在评论中解释。
最佳答案
您的 SelectAll()
正在被屏蔽文本框选择的默认功能覆盖。我会使用 Enter
事件,它允许选项卡式输入或鼠标单击输入到屏蔽文本框。您很可能需要使用 BeginInvoke
方法。试试下面的代码。当我尝试时它对我有用......
private void maskedTextBox1_Enter(object sender, EventArgs e)
{
BeginInvoke((Action) delegate { SetMaskedTextBoxSelectAll((MaskedTextBox) sender); });
}
private void SetMaskedTextBoxSelectAll(MaskedTextBox txtbox)
{
txtbox.SelectAll();
}
关于c# - GotFocus 上的 MaskedTextBox.SelectAll 不适用于鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28595370/
您好,我在我的 WinForms 应用程序中使用掩码创建了 maskedtextbox:0/0 AAAAA,当我在将捷克语设置为默认语言的 PC 上安装它时,它会进行转换反斜杠变成点,所以我有 0.0
我正在尝试在 Visual Studio 2013 中为 currency 制作一个Custom Input Mask 但是,这种掩码有一个限制:9999,00。我不会写像 99999999,00 这
我的 Winforms 应用程序中有一个 MaskedTextBox。我需要一个多线掩码,f.e: "999999\r\n 999999\r\n 999999\r\n 00/00/0000" 我
什么时候 MaskedTextBox srcCodeBox = new MaskedTextBox(); srcCodeBox.AsciiOnly = true; srcCodeBox.Multili
我正在尝试弄清楚如何做到这一点,以便如果我按下我的按钮执行某个操作(例如显示消息框)并且我的屏蔽文本框的文本不是数字,那么它就会执行类似这样的操作你只能在 TextBox 或类似的东西中有一个数字。我
我正在为 MaskedTextBox 苦苦挣扎。我的面具看起来像这样:R ######.00 输入南非货币。一切还好。我将金额保存到一个小数字段,并且使用十进制值和所有正确完成。问题是当我尝试重新显示
我正在尝试创建一个具有边框颜色的蒙版文本框。 我尝试了下面的代码来实现它: public class MaskedTextBoxWithBorder : UserControl { Maske
这是我的代码: private void Form1_Load(object sender, EventArgs e) { maskedTextBox1.Mask = "*[L]";
我想在我的应用程序中的 maskedtextbox 上设计不断变化的时间,就像时间每秒都在变化的窗口一样。我已将 maskedtexbox1 设置如下: maskedTextBox1.Text = D
如何防止屏蔽文本框中出现空格?使用 KeyPress 但 e.handled 不起作用。有人可以指导我查看显示如何处理此问题的帖子吗?屏蔽的文本框用于 ssn。谢谢 最佳答案 你需要 0 而不是 9,
我有一个带有此掩码 (999) 999 9999 的 MaskedTextBox。当用户输入数字时,文本属性会给我这个: (0881) 444 5445 但我想像这样将原始文本保存到数据库字段:088
我正在使用 MaskedTextBox,具有以下短日期 Mask:“00/00/0000”。 我的问题是我想知道控件何时为空: if (string.IsNullOrEmpty(maskedTextB
我正在使用 Xceed MaskedTextBox;
我需要验证用户在 MaskedTextBox 中输入的字符。哪些字符有效取决于已经输入的字符。我试过使用 IsInputChar 和 OnKeyPress,但是我是在 IsInputChar 中返回
我使用 MaskedTextBox 控件来方便在我的项目中输入日期。我将 mtb.BeepOnError 设置为 false。但是,每当按下“Enter”键或“Esc”键时,它都会发出通用的蜂鸣声,这
我有一个 MaskedTextBox 控件,在我们的例子中,它正在收集社会保险(税)号(没有 ValidatingType,因为字符串表示形式包括掩码文字)。社会保险号码由 3 组 3 位数字组成,每
我是 Winforms 的新手,我想知道如何使用 MaskedTextBox 来确保用户只输入数值(包括小数)。 我已经使用“/^[-+]?[0-9]+(.[0-9]+)?$/”尝试了屏蔽功能,但没有
我想使用 JavaScript 将 REGULAR EXPRESSION 全局分配给 Kendo MaskedTextBox...但无法让 Kendo “识别”模式。 问:如何在 Kendo Mask
我想检查空值。使用下面的代码。我仍然在文本框中获取值。我在文本框中得到的值是“( ) -”... If Text_Phone.Text IsNot "" Then If BuildSqlFlag =
当我们在 winforms for c# 中设置屏蔽文本框的屏蔽时出现的行对我来说似乎一点吸引力都没有。我想知道是否有任何方法可以设置屏蔽隐藏的文本框和那一行没有显示??? 最佳答案 在 VB.NET
我是一名优秀的程序员,十分优秀!