Using the HelpProvider class to show help, UI is always behind help window

I have a C# Winforms app that uses the HelpProvider class. Whenever i press F1 to bring up help, the help window will always be on top of my application, I cannot bring my application UI to the foreground. I can still interact with my UI, but the help window will remain on top.

Is this by design of HelpProvider? Or am I missing something?

7
задан David A. 25 August 2010 в 20:05
поделиться

1 ответ

Это действительно задумано, и я этого не осознавал. Я только что перекомпилировал свой последний годичный проект и подтвердил его. Я читал об этом, и в основном файл справки устанавливается в TopMost=True каждый раз, когда нажимается форма. Это означает, что даже если вы закодируете свою форму как TopMost, как только вы щелкнете по файлу справки, она снова вернется наверх.

Я считаю, что если вы используете процесс запуска, он должен обойти проблему за счет потери некоторой настраиваемости, предоставляемой поставщиком помощи.

private void textBox1_KeyDown(object sender,
System.Windows.Forms.KeyEventArgs e)
{
  if(e.KeyCode ==Keys.F1)
  {
    System.Diagnostics.Process.Start(@"C:\WINDOWS\Help\mspaint.chm");
  }
}

Надеюсь, это поможет

3
ответ дан 7 December 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: