我正在为具有WM 6.5(.NET 3.5)的移动设备开发应用程序,并且遇到以下问题:

在窗体中的textBox上调用textBox.gotFocus()事件时,我将调用此textBox的SelectAll()方法来选择整个文本。

如果使用Tab导航(selectNextControl()),则此方法有效,但如果“触摸”设备显示屏上的此textBox,则该方法无效。
在这种情况下,将执行selectAll()方法,但不会选择文本。

有人对此有经验吗?
提前致谢

最佳答案

问题是Windows Mobile的内部事件处理。使用计时器并在触发事件后几毫秒内执行SelectAll()即可解决此问题。

只需在SelectAll()事件处理程序中执行此操作即可,而不是通常的GotFocus

var timer = new Timer { Interval = 100, Enabled = true };
timer.Tick += (EventHandler) delegate
{
    SelectAll();
    timer.Dispose();
};

关于c# - .NET CompactFramework TextBox.selectAll在gotFocus上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19095376/

10-10 02:40