如何在WPF中禁用焦点?
我创建了一个应用程序,但焦点有问题。如何在加载窗体时禁用另一个主窗体的焦点?WPF窗体具有ShowActivated属性。将此设置为false,表单将无法获得焦点 您还可以覆盖OnActivated方法:如何在WPF中禁用焦点?,wpf,Wpf,我创建了一个应用程序,但焦点有问题。如何在加载窗体时禁用另一个主窗体的焦点?WPF窗体具有ShowActivated属性。将此设置为false,表单将无法获得焦点 您还可以覆盖OnActivated方法: protected override void OnActivated(EventArgs e) { base.OnActivated(e); //Set the window style to noactivate. WindowIn
protected override void OnActivated(EventArgs e)
{
base.OnActivated(e);
//Set the window style to noactivate.
WindowInteropHelper helper = new WindowInteropHelper(this);
SetWindowLong(helper.Handle, GWL_EXSTYLE,
GetWindowLong(helper.Handle, GWL_EXSTYLE) | WS_EX_NOACTIVATE);
}
private const int GWL_EXSTYLE = -20;
private const int WS_EX_NOACTIVATE = 0x08000000;
[DllImport("user32.dll")]
public static extern IntPtr SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
[DllImport("user32.dll")]
public static extern int GetWindowLong(IntPtr hWnd, int nIndex);
你能更详细地解释一下你的问题吗?你的问题很模糊。您是否有任何代码可以提供给我们,或者至少有更好的解释?您希望非模式窗口在加载时获得焦点?很抱歉,我的问题不清楚,我使用的通知与skype类似 通知当用户在线时它会显示通知信息,所以我希望你们能帮助我,不要把注意力集中到主窗体上。希望你能理解!SHowActivated=false,但仍然是焦点,但我想使用OnActivated函数,如何调用OnActivated函数?