В моем приложении WinForms есть простая модальная форма входа в систему, которая вызывается при запуске через ShowDialog ().Когда я запускаю из Visual Studio, все работает нормально.Я могу просто ввести свой идентификатор пользователя, нажать клавишу Enter и войти в систему.
Но когда я запускаю сборку релиза напрямую, все выглядит нормально (форма входа активна, наИдентификатор пользователя MaskedEditBox), но все нажатия клавиш игнорируются, пока я не нажму где-нибудь в форме входа .Очень раздражает, если вы привыкли делать все с клавиатуры.
Я пытался проследить через обработчики событий и установить фокус непосредственно с помощью кода, но безрезультатно.
Любойпредложения, как отладить это (вне Visual Studio), или если это не удалось - возможный обходной путь?
Редактировать
Вот код вызова в моей основной форме:
private void OfeMainForm_Shown(object sender, EventArgs e)
{
OperatorLogon();
}
private void OperatorLogon()
{
// Modal dialogs should be in a "using" block for proper disposal
using (var logonForm = new C21CfrLogOnForm())
{
var dr = logonForm.ShowDialog(this);
if (dr == DialogResult.OK)
SaveOperatorId(logonForm.OperatorId);
else
Application.Exit();
}
}
Редактировать 2
Не думаю, что это актуально, но я использую Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase для этогозаставка и поддержка SingleInstanceController.
Я только что закомментировал код заставки, и проблема исчезла.Так что это открыло совершенно новую линию расследования ...
Редактировать 3
Изменено название, чтобы отразить лучшее понимание проблемы