我在WPF中有一个带有两个textBox的小应用程序。其中一个必须在获得焦点时显示触摸键盘。使用下一个代码是正确的:
Process theTouchKeyboardProcess = null;
...
private void textBoxA_GotFocus(object sender, RoutedEventArgs e)
{
theTouchKeyboardProcess = Process.Start(@"C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe");
}
问题是我想在另一个textBox获得焦点时隐藏触摸键盘。我试过这样做:
private void textBoxA_LostFocus(object sender, RoutedEventArgs e)
{
try
{
theTouchKeyboardProcess.Kill();
}
catch (Exception ex)
{
Console.WriteLine(ex.StackTrace);
}
}
但它发布了一个例外。
问题是,这样做的最佳方法是什么?
感谢。
答案 0 :(得分:1)
我不知道什么是最好的方法,但我在我的项目中使用了以下代码,它只是起作用。
Process[] processes = Process.GetProcessesByName("TabTip");
foreach (Process process in processes)
{
process.Kill();
}