c# dialogResult
参考自https://www.cnblogs.com/shuang121/archive/2012/12/01/2797275.html
在winForm中,我们一般会有这样的需求,选择本机的一个图片或者其他文件进去读取或者其他的操作,也可能回选择某一个文件夹下面的所有图片来操作,winForm中为我们提供了两个控件FolderBrowserDialog和OpenFileDialog
FolderBrowserDialog:用来选择一个文件夹,从而读取这个文件夹下面的所有文件
OpenFileDialog:用来读取单个文件
下面来看看他们具体的用法
首先对于这两个控件我们可以从工具箱里托一个过来,也可以直接用代码创建
FolderBrowserDialog
private void btnBrowse_Click(object sender, EventArgs e)
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
txtFile.Text = folderBrowserDialog1.SelectedPath;
}
}
OpenFIleDialog
private void btn_start_Click(object sender, EventArgs e)
{
//找到目录
DirectoryInfo directoryinfo = new DirectoryInfo(txt_path.Text);
int i = 1;
//读取当前目录文件信息
foreach (var item in directoryinfo.GetFiles())
{
string destPath = Path.Combine(txt_path.Text, i + item.Extension);
if (item.Name.Length > 10)
{
//判断是否重名
if (!File.Exists(destPath))
{
item.MoveTo(destPath);
}
i++;
}
}
MessageBox.Show("操作完成");
//通过长宽新建文件夹
//将该尺寸的文件移动到文件夹下并重命名
}
private void txt_path_Click(object sender, EventArgs e)
{
DialogResult dr = folderBrowserDialog1.ShowDialog();
if (dr == System.Windows.Forms.DialogResult.OK)
{
txt_path.Text = folderBrowserDialog1.SelectedPath;
}
}
path.combine
简单来说,就是合并两个路径字符串。
比如如下调用,Path.Combine(@“C:\11”,“aa.txt”) 返回的字符串路径如后: C:\11\aa.txt
我们在合并一些目录的时候,它的两个参数有些特殊限制
1、如果其中一个参数为 null ,会抛出异常:
An unhandled exception of type ‘System.ArgumentNullException’ occurred in mscorlib.dll
Additional information: Value cannot be null.
2、如果指定的路径之一是零长度字符串,则该方法只返回另一个路径。当然,两个都是零长度字符串,则返回的就是 string.Empty ;
3、如果 path2 包含绝对路径,则该方法返回 path2。
比如:string tmp = Path.Combine(@“C:\11”, @“D:\aa.txt”);
tmp 就等于 @“D:\aa.txt”
4、 path2 不能是以 \ 和 / 开头的字符串,否则会只返回path2;
不是目录和文件名的所有无效字符都被 Combine 方法解释为不可接受的,因为您可以将这些字符用于搜索通配符。例如,尽管 Path.Combine(“c:\”, “*.txt”) 可能是无效的(如果您要根据它创建一个文件),但它作为搜索字符串是有效的。因此 Combine 方法成功解释它。
Path.DirectorySeparatorChar 字段
提供平台特定的字符,该字符用于在反映分层文件系统组织的路径字符串中分隔目录级别。
该字段的值在 Unix 上为斜杠("/"),在 Windows 和 Macintosh 操作系统上为反斜杠("")。
Path.AltDirectorySeparatorChar 字段
提供平台特定的替换字符,该替换字符用于在反映分层文件系统组织的路径字符串中分隔目录级别。
该字段的值在 Unix 上为反斜杠(""),在 Windows 和 Macintosh 操作系统上为斜杠("/")。
Path.VolumeSeparatorChar 字段
提供平台特定的卷分隔符。
该字段的值在 Windows 和 Macintosh 上为冒号(":"),在 Unix 操作系统上为斜杠("/")。