当我调用以下行时,对话框将显示任何浮动对话框,因此我需要能够将其设置为最顶层,或者至少设置所有者:
FileSystem.DeleteFile(someString, UIOption.AllDialogs, RecycleOption.SendToRecycleBin);
不幸的是,我还没有在网上找到任何表明这是可行的。我知道我可以创建自己的窗口并直接调用API,但首先我想知道是否有一种方法可以让所有FileSystem对话框显示在最顶端。
答案 0 :(得分:0)
没有答案,所以我只是将messagebox parent设置为调用Show并刚刚进行API调用以回收已删除文件的表单:
string message = string.Format("Are you sure you want to move '{0}' to the recycling bin?", Path.GetFileNameWithoutExtension(path));
var result = MessageBox.Show(this, message, @"Move To Recycling Bin?", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.Yes)
{
Send(path, FileOperationFlags.FOF_NOCONFIRMATION | FileOperationFlags.FOF_NOERRORUI | FileOperationFlags.FOF_SILENT);
}
方法"发送"是公开的here
包装类的一部分