如何在Openfiledialog中获取当前所选文件的文件大小?
答案 0 :(得分:6)
您无法直接从OpenFieldDialog获取它。
您需要获取文件路径并从中构建一个新的FileInfo对象:
var fileInfo = new FileInfo(path);
从FileInto中你可以得到像这样的文件大小
fileInfo.Length
有关详细信息,请查看此msdn页面。
答案 1 :(得分:1)
我认为有3种方法,创建自定义打开对话框或按代码设置视图作为详细信息或要求用户使用详细视图
答案 2 :(得分:1)
没有互操作,就像第一个评论一样,一旦对话完成,即选择了文件,这将给出大小。
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if (openFileDialog1.Multiselect)
{
long total = 0;
foreach (string s in openFileDialog1.FileNames)
total += new FileInfo(s).Length;
MessageBox.Show(total.ToString());
}
else
{
MessageBox.Show(new FileInfo(openFileDialog1.FileName).Length.ToString());
}
}
}
对话期间的文件大小我觉得需要使用互操作
安德鲁
答案 3 :(得分:0)
如果您的意思是对话框正在运行,我怀疑您只是将文件视图更改为详细信息。但是,如果你的意思是编程,我怀疑你必须在选择文件时挂钩Windows消息。