У меня есть приложение на C # с двумя формами.
Первая - это основная форма, которая всегда должна быть открытой.
Вторая - это панель предварительного просмотра, которую пользователь может включить.
Когда пользователь выбирает отображение панели предварительного просмотра (опция меню), панель предварительного просмотра открывается.
Что я и хочу.
Однако я хочу, чтобы панель предварительного просмотра не фокусировалась. В противном случае, если пользователи хотят получить доступ к меню (которое находится в главной форме), они сначала щелкают, и похоже, что ничего не происходит (но на самом деле фокус переключается с предварительного просмотра -> основного).
Только после второго щелчка они могут получить доступ к меню.
Так что я подумал, что у меня есть довольно простое решение:
Если предварительный просмотр получит фокус, просто установите фокус на основную форму.
Однако похоже, что я не могу получить доступ к главной форме из панели предварительного просмотра.
Чтобы показать панель предварительного просмотра, я просто делаю (в основной форме):
QRcodeGenerator.QrCodePreview preview = new QRcodeGenerator.QrCodePreview();
preview.show();
Я попытался вернуть фокус главной форме, выполнив (в окне предварительного просмотра):
private void QrCodePreview_GotFocus(object sender, EventArgs e)
{
QrCodeGenerator.QrCodeSampleApp.focus();
}
Но, как уже говорилось, похоже, я не могу получить к нему доступ.
форма исчезла http://s2.postimage.org/6ncwyxmnm/looking_for_my_main_form.png