Как я могу сделать то, что я буду называть, "всплывающим" окном "в WinForms?
Поскольку я использовал собственное вымышленное слово " всплывающее окно ", позвольте мне привести примеры этого так называемое «всплывающее» окно:
всплывающее окно (может выходить за пределы своей родительской формы, не отображается на панели задач, не является модальным и не крадет фокус) :
всплывающее меню окно (может выходить за пределы границ своей родительской формы, не отображается на панели задач, не является модальным и не крадет фокус):
a раскрывающееся окно (может выходить за пределы своей родительской формы, не отображается на панели задач, не является модальным и не крадет фокус):
A главное меню (может выходить за пределы родительской формы, не отображается на панели задач, не является модальным и не крадет фокус):
Обновить Всплывающее окно не делать себя «активным» окном при взаимодействии с помощью мыши o r клавиатура (окно «владелец» остается активным окном):
Атрибуты, которые я ищу в этом мифическом «всплывающем окне», заключаются в том, что оно:
Приложения Windows уже умеют создавать такие окна. Как я могу сделать это в приложении WinForms?
Control
, который может действовать для меня как всплывающее окно? Я попробовал метод Show (onwer) + ShowWithoutActivation
:
PopupForm dd = new PopupForm ();
dd.Show(this);
с PopupForm:
public class PopupForm: Form
{
public PopupForm()
{
InitilizeComponent();
}
private void InitilizeComponent()
{
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.WindowState = FormWindowState.Normal;
this.ShowInTaskbar = false;
}
protected override bool ShowWithoutActivation
{ get { return true; } }
}
Почти решено проблема, но затем я обнаружил напомнил о другом свойстве «всплывающих» окон: они не берут фокус со своей формы «владельца» становятся активными при взаимодействии с мышью или клавиатурой .