C# 从OpenFileDialog获取文件大小?
如何在我的Openfiledialog中获取当前选定文件的文件大小?您不能直接从OpenFieldDialog获取它 您需要获取文件路径并从中构造一个新的FileInfo对象,如下所示:C# 从OpenFileDialog获取文件大小?,c#,openfiledialog,C#,Openfiledialog,如何在我的Openfiledialog中获取当前选定文件的文件大小?您不能直接从OpenFieldDialog获取它 您需要获取文件路径并从中构造一个新的FileInfo对象,如下所示: var fileInfo = new FileInfo(path); 从FileInto可以得到文件的大小,如下所示 fileInfo.Length 有关更多信息,请查看此页面。我认为有3种方法,创建自定义打开对话框,或将视图编码为详细信息,或要求用户使用详细信息视图。如果您的意思是,当对话框运行时,我怀疑
var fileInfo = new FileInfo(path);
从FileInto可以得到文件的大小,如下所示
fileInfo.Length
有关更多信息,请查看此页面。我认为有3种方法,创建自定义打开对话框,或将视图编码为详细信息,或要求用户使用详细信息视图。如果您的意思是,当对话框运行时,我怀疑您只是将文件视图更改为详细信息。但是,如果您是指以编程方式,我怀疑您必须在选择文件时挂接windows消息 没有互操作,就像第一条注释一样,一旦对话完成,即选择了文件,这将给出大小
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());
}
}
}
对话期间的文件大小我觉得需要使用互操作
Andrew你是指对话打开时,还是在对话关闭后?你是指该程序还是该程序的用户?我有一种感觉,这里需要一些互操作:-)顺便说一句,问题很好,有兴趣请进一步澄清,根据Richard的评论。