Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
358 views
in Technique[技术] by (71.8m points)

C# - How to customize OpenFileDialog to select multiple folders and files?

I have posted - How to use OpenFileDialog to select a folder?, I couldn't find the correct answer. So, I have changed my question.

I want to customize OpenFileDialog to select multiple folders and files. I tried to find a solution and could see some posts about it.

From the internet, I found the following project - https://github.com/scottwis/OpenFileOrFolderDialog.

However, while using this, I faced one problem. It uses the GetOpenFileName function and OPENFILENAME structure from MFC. And OPENFILENAME has the member named "templateID". It's the identifier for dialog template. And the sample project has the "res1.rc" file and, also have the templated dialog in it.

But I don't know How can I attach this file to my C# project?

Or is there any other perfect solution about - "How to customize OpenFileDialog to select multiple folders and files?"?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

If you use the FileNames property instead of the FileName property, you get a string array of each file selected, you select multiple files using the shift key. Like so:

private void button1_Click(object sender, EventArgs e)
{
    OpenFileDialog x = new OpenFileDialog();
    x.Multiselect = true;
    x.ShowDialog();
    string[] result = x.FileNames;

    foreach (string y in result)
       MessageBox.Show(y, "Selected Item", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

For files and folders you need to use the CommonOpenFileDialog included with the WinAPI, the particular class is here.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...