gpt4 book ai didi

c# - 如何在 LINQPad 中显示 FolderBrowserDialog?

转载 作者:太空宇宙 更新时间:2023-11-03 23:23:32 25 4
gpt4 key购买 nike

我想在 LINQPad 脚本中浏览文件夹,所以我尝试使用 FolderBrowserDialog。它没有用。

这是显示我在做什么的片段?

string path = "";
var browser = new FolderBrowserDialog { ShowNewFolderButton = false };
if (browser.ShowDialog() == DialogResult.OK)
{
path = browser.SelectedPath;
}

这会在 ShowDialog() 行上运行并挂起,黄色执行指针指向该行,但文件夹浏览器对话框不可见。

我知道 ShowDialog() 有一个重载,它接受一个 IWin32Window owner 参数,我认为这可能是解决方案,但还没有想出如何为主要的对象获取 IWin32Window LINQPad 窗口。我希望 Util 类可以提供一种方法,但除非我错过了它,否则它似乎没有。

有人对解决这个问题有建议吗?

最佳答案

不是解决方案,而是替代方案,FilePicker 控件(新 LinqPad 输入控件的一部分)。

你可以这样写:

new FilePicker().Dump().TextInput += (x, e) => ((FilePicker)x).Text.Dump();

或:

var picker = new FilePicker();
picker.TextInput += (x, e) => {
var fileName = picker.Text;
//action with the file...
};

完整示例:

void Main()
{
new FilePicker().Dump().TextInput += (x, e) => procces(((FilePicker)x).Text);
}

void procces(string file)
{
file.Dump("chosen file...");
//...
}

enter image description here

关于c# - 如何在 LINQPad 中显示 FolderBrowserDialog?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34565083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com