선택한 드라이브에 충분한 공간이 없으면 오류를 표시하는 폴더를 선택하려고합니다. 사용자 정의 설계된 오류 및 대화 상자 양식을 작성했지만 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