Форма Windows переходит в bakground, после нажатия alt+Tab она появляется в верхней части дисплея
Мое приложение представляет собой комбинацию WPF и Winforms.
Отображение формы windows в потоковом процессе без блокировки кода, но форма переходит в фоновый режим.
В событии дескриптора формы значение дескриптора равно нулю.
Форма должна отображаться в верхней части окна WPF.
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); Thread processPostScanThread = new Thread(() => ProcessThreadScannedFile("test")); processPostScanThread.SetApartmentState(ApartmentState.STA); processPostScanThread.Start(); } private object ProcessThreadScannedFile(string p1) { win_form sc = new win_form (); Task.Run(() => sc.ShowDialog()); return true; } }
Примечание:
MainWindow = окно WPF
win_form = форма Windows
Что я уже пробовал:
Цитата:Я пробовал использовать методы pinvoke, такие как (FindWindowA,SetForeGroundWindow и т. д.,)
этот.Сосредоточить();
этот.Активировать();
этот.BringFront();
выше всех трех строк,выполненных в показанном, дескрипторе, активированном событии, но также и в фоновом режиме.
Gerry Schmitz
Попытка асинхронного запуска модального диалога? Вам нужно решить, что вы хотите сделать.
Member 14047666
да я пытаюсь работать в асинхронном режиме