У меня есть две простые формы, одна из которых содержит сетку и кнопку.Когда я нажимаю кнопку, мое приложение начинает выполнять долгую операцию.Пока он работает, я показываю другую форму, содержащую индикатор выполнения, и открываю ее так:
_busyWindow.ShowDialog();
И определено
public partial class BusyWindow : DevExpress.XtraEditors.XtraForm
{
public BusyWindow()
{
InitializeComponent();
}
private void BusyWindow_FormClosing(object sender, FormClosingEventArgs e)
{
this.Hide();
e.Cancel = true; // this cancels the close event.
}
}
Когда операция завершена, я скрываю формувот так
if (ended)
_busyWindow.Hide();
Работает нормально.Проблема в том, что когда я закрываю вторую форму (тот же закрывающий код), она также закрывается нормально, но мой основной графический интерфейс теряет фокус.Например, если у меня открыт Firefox за приложением, тогда Firefox получает фокус.
Это происходит только тогда, когда я закрываю вторую форму, когда окно busyWindow было открыто, и нет, когда оно не открывалось (то есть, если я открою форму, я закрою ее, не нажимая на кнопку, тогда основной графический интерфейс не потеряет фокус).
Знаете ли вы, что происходит или где я могу попытаться выполнить поиск?