У меня есть приложение, которое тихо работает в системном трее. Иногда мне это нужно, чтобы выдать маленькую форму уведомления конечному пользователю.Показывает ChildForm сверху, даже если скрыт ParentForm.
Я попытался выполнить это приложение WinForms, в котором основная часть его логики встроена в скрытую форму, которая не отображается пользователю. Затем, когда выполняются определенные критерии, я показываю пользователю дополнительную форму.
Моя проблема заключается в том, что эта вторичная форма не всегда сверху, даже когда я устанавливаю TopMost = true.
Я считаю, что это потому, что основная форма не отображается, поэтому ее дочерние формы не могут использовать TopMost = true. Я попытался переместить TopMost в несколько разных мест. Любые другие идеи?
MainForm логика:
ChildForm childForm = new ChildForm(this);
int x = (Screen.PrimaryScreen.Bounds.Width/2) - (childForm.Width/2);
childForm.StartPosition = FormStartPosition.Manual;
childForm.Location = new Point(x, 0);
childForm.ShowDialog();
//childForm.TopMost = true;
ChildForm логика:
public ChildForm(MainForm mainForm)
{
InitializeComponent();
//this.TopMost = true;
}
Вы должны перестать пытаться толкать окно в лицо пользователя, Windows активно препятствует этому. Покажите подсказку шара, вы можете ответить на щелчок на воздушном шаре и получить свое окно впереди. –