我正在 WPF 中制作一个 UC (UserControl)。我在 UC 中有一些文本框。当用户在其中之一上按下“返回键”时,我想离开 UC。我希望返回键像主窗口中的 Tab 键一样对待。我该如何实施?
我在搜索中找到了这篇文章,它是我问题的答案。
这个想法是有一个名为 SendKeys* 的类,并在控件的 key down 事件中使用它的方法。
public static class SendKeys
{
/// <summary>
/// Sends the specified key.
/// </summary>
/// <param name="key">The key.</param>
public static void Send(Key key)
{
if (Keyboard.PrimaryDevice != null)
{
if (Keyboard.PrimaryDevice.ActiveSource != null)
{
var e1 = new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0, key) {RoutedEvent = Keyboard.KeyDownEvent};
InputManager.Current.ProcessInput(e1);
}
}
}
}
然后像这样使用它:
private void textBoxesKeyDown(object sender, KeyEventArgs e) {
switch (e.Key)
{
case Key.Return:
SendKeys.Send(Key.Tab);
break;
}
}
*注意: SendKeys 是 WinForm 中的一个类,WPF 中不存在。顺便说一下,您可以使用这些代码来实现。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句