Как сделать форму всегда сверху в приложении
У меня есть форма, которую я хочу всегда быть на вершине всякий раз, когда она открывается в приложении, но я не хочу, чтобы она была сверху, когда основная форма была сведена к минимуму или перемещено другое приложение. Я хочу, чтобы он был сверху только в моем приложении.
После ответа в вопросе: Как сделать окно всегда оставаться на вершине .Net?
this.TopMost = true;
Делает форму сверху, но форма все еще находится сверху, когда другое приложение перемещается или основная форма закрыта.
Как мне сделать форму только сверху в приложении, позволяя пользователю по-прежнему работать в основной форме?
Ответы
Ответ 1
Вы ищете принадлежащее окно. Он всегда находится на вершине владельца и минимизируется вместе с владельцем. Хорошими примерами доступных окон являются различные вспомогательные окна внутри Visual Studio. Вы можете открепить их, но они всегда останутся на вершине главного окна VS.
Вы создаете собственное окно, отображая его с помощью перегрузки Show (owner). Или путем прямого назначения его свойства Owner.
Ответ 2
Установите верхний уровень, а затем установите владельца, пример ниже.
public Form1()
{
InitializeComponent();
Form2 f2 = new Form2();
//top level not really needed
f2.TopLevel = true;
f2.Show(this);
}