我需要在线程末尾设置按钮焦点。
Button.Focus()方法似乎不起作用。
例如:
Button1_Click(object sender, EventArgs e)
{
Thread myThread = new Thread(theThread);
myThread.Start();
}
theThread()
{
...
Button2.Focus(); // does not seem to focus the button
}
但是,如果我将Button2.Focus()放在Button1_Click中,它将聚焦,但是对于我的项目,我无法做到这一点。
最佳答案
对于此类问题的通用解决方案,请查看SyncronizationContext
类。但是,对于Windows窗体,可以使用Invoke
方法,而在WPF中,可以使用Dispatcher.Invoke
:
//WinForms:
Invoke(delegate{ Button2.Focus(); });
关于c# - 如何在C#中的线程中使按钮焦点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/821137/