хорошие ребята, может кто-нибудь мне помочь. У меня есть winforms, который устанавливает TopMost = true
. И у меня есть кнопка, когда я нажимаю на нее, она создает блокнот. Теперь я хочу, чтобы мой блокнот показывал в верхней части моих winforms без, устанавливая мои winforms TopMost = false. Может быть, я что-то упустил. Я открыт для любых предложений. Кстати, я установил свою форму в TopMost=true
и BringToFront()
, потому что я не хочу, чтобы любой пользователь выбирал любую программу на панели задач и выводил ее на передний план и сворачивал мои winforms. Заранее спасибоблокнот на вершине winform
public Form1()
{
InitializeComponent();
this.BringToFront();
this.TopMost = true;
}
// bunch of codes here...
private void button1_Click(object sender, EventArgs e)
{
Process process = new Process();
process.StartInfo.FileName = "notepad.exe";
process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
process.Start();
}
// some codes here
private void Form1_Load(object sender, EventArgs e)
{
FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
Left = Top = 0;
Width = Screen.PrimaryScreen.WorkingArea.Width;
Height = Screen.PrimaryScreen.WorkingArea.Height;
}
Пробовал 'метод SendToBack' еще? – kevintjuh93
Единственный вариант, который я вижу, - это получить обработчик главного дескриптора NotePad: 'process.MainWindowHandle', а затем через' GetWindowLong' и 'SetWindowLong' добавить' WS_EX_TOPMOST' расширенный стиль окна к нему –
@ kevintjuh93 попробовал это сейчас, блокнот впереди теперь, но winform находится на обратной стороне моего браузера (открывается, прежде чем я запустил приложение) – jLaw