c#既能选择文件又能选择文件夹
大家好,我现在想实现点击一个按钮之后弹出一个选择文件的对话框,在对话框里既能选择文件又能选择文件夹,类似于qq发送文件/文件夹的功能,但是在网上查了一些资料,大部分都是分开的
//发送文件
private void btnFile_Click(object sender, EventArgs e)
{
OpenFileDialog fileDialog = new OpenFileDialog();
fileDialog.Multiselect = true;
fileDialog.Title = "请选择文件";
fileDialog.Filter="所有文件(*.*)|*.*";
if (fileDialog.ShowDialog() == DialogResult.OK)
{
string file=fileDialog.FileName;
MessageBox.Show("已选择文件:" + file,"选择文件提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
//发送文件夹
private void btnPath_Click(object sender, EventArgs e)
{
FolderBrowserDialog dialog = new FolderBrowserDialog();
dialog.Description = "请选择文件路径";
if (dialog.ShowDialog() == DialogResult.OK)
{
string foldPath = dialog.SelectedPath;
MessageBox.Show("已选择文件夹:" + foldPath, "选择文件夹提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
有什么办法可以在同一个弹出窗口中实现,希望大家能给点儿思路,谢谢了!
[解决办法]
你这是web应用程序还是客户端winform程序?如果是web,和C#没有任何关系,选择文件是浏览器的功能,你用winform控件没任何用处。
[解决办法]
最简单的方法,把文件夹压缩一下成一个压缩包。
[解决办法]
Winform 你自己处理呀。。这两个不都是有方法了吗,想办法整到一起就是。
[解决办法]
winform用folderBrowserDialog,然后把用户选中的路径下的文件和文件夹全遍历一下
[解决办法]
没有直接能同时选择文件和文件夹的这种控件的,
你可以不用选择,你可以让用户拖拽的方式,按住ctrl 选择多个文件夹和文件后往你的窗体上拖然后在你的窗体中去取用户拖进来的数据 大致代码如下:
private void Form1_Load(object sender, EventArgs e)
{
//设置窗体允许接受拖拽
this.AllowDrop = true;
this.DragEnter += (mysender, mye) =>
{
var obj = mye.Data.GetData(DataFormats.FileDrop);
//obj为你拖拽上来的文件或者文件夹的路径 集合
//你可以遍历它
};
}