Я пытаюсь сделать выбор папки, который будет показывать ошибку, если на выбранном диске недостаточно места. Я создал настраиваемую форму ошибки и диалога, но есть проблема с использованием FolderBrowserDialog.Без фокуса на другую форму после FolderBrowserDialog.ShowDialog()
Вот мой фактический код:
frmDialog dialog = new frmDialog("Install software", "The software cannot be found. Please select the path of the executable or let the launcher install it for you.");
dialog.SetYesButtonText("Install software");
dialog.SetNoButtonText("Browse for executable...");
if (dialog.ShowDialog() == DialogResult.Yes)
{
fbd = new FolderBrowserDialog();
fbd.Description = "Please select where do you want to install the software!";
DialogResult result = fbd.ShowDialog();
if (result == DialogResult.OK) // + space checking, but I deleted it for debugging now.
{
frmError error = new frmError("Not enough space", "Please select a folder with at lease 22 MB of free space.");
error.ShowDialog();
}
}
Я на самом деле сделать петлю после которой будет работать до тех пор, пока пользователь не выберет папку с достаточным пространством или отменяет выбор.
Проблема в том, что диалоговое окно ошибки не получает никакого фокуса. Поэтому, когда пользователь выбирает папку, FolderBrowserDialog исчезает, и диалоговое окно ошибки появляется в новом окне, но окно Visual Studio получает фокус вместо диалогового окна ошибки. Как я понял, эта проблема не существует с моими собственными формами, поэтому, если бы я изменил fdb на frmDialog, все три диалога появятся с фокусом друг за другом.
Вы хотите, чтобы окна 'FolderBrowserDialog' открывались и отображались диалоговые окна ошибок? – dotctor