我从Winforms应用程序打开一个FolderBrowserDialog。在应用程序启动后的第一次,它工作正常。然后我开始一个后台工作人员,做一些工作。
如果我在后台工作人员完成后,再次打开FolderBrowserDialog,应用程序被“锁定”,因为FolderBrowserDialog是打开的,但隐藏在后台的某个地方。我必须按ALT键才能使对话框可见。
这个问题一定和后台工作人员有关。我该如何解决这个问题?
下面是打开对话框的代码:
private void metroButtonFolderBrowser_Click(对象发送者,EventArgs e) {
FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog();
folderBrowserDialog1.Description = "CD Importordner wählen";
folderBrowserDialog1.ShowNewFolderButton = false;
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK)
{
importfolder = folderBrowserDialog1.SelectedPath;
ImportfolderLabelText.Text = importfolder;
}
else if (result == DialogResult.Cancel)
{
MessageBox.Show("Abbruch gewählt!");
log.Info("User interrupted folder browser dialog.");
}
}发布于 2018-06-05 19:21:59
您不能直接设置TopMost,但您可以为FolderBrowserDialog提供一个位于最上面的父级:
using System;
using System.Windows.Forms;
private void BrowserForDirectory()
{
FolderBrowserDialog dirDialog = new FolderBrowserDialog();
using (var dummy = new Form() { TopMost = true })
{
if (dirDialog.ShowDialog(dummy.Handle))
{
importfolder = dirDialog.SelectedPath;
}
}
}https://stackoverflow.com/questions/46590137
复制相似问题