6

如何在我的 Openfiledialog 中获取当前选定文件的文件大小?

4

4 回答 4

6

您不能直接从 OpenFieldDialog 中获取它。

您需要获取文件路径并从中构造一个新的 FileInfo 对象,如下所示:

var fileInfo = new FileInfo(path);

从 FileInto 你可以像这样得到文件的大小

fileInfo.Length

有关更多信息,请查看此msdn页面。

于 2009-08-24T11:14:20.783 回答
2

没有互操作,就像第一条评论一样,一旦对话完成,即选择了文件,这将给出大小。

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());
                }


            }
        }

对话期间的文件大小我觉得需要使用互操作

安德鲁

于 2009-08-24T11:17:17.547 回答
1

我认为有 3 种方法,创建自定义打开对话框或通过代码将视图设置为详细信息或要求用户使用详细信息视图

于 2009-08-24T11:14:28.830 回答
0

如果您的意思是当对话框运行时,我怀疑您只是将文件视图更改为详细信息。但是,如果您的意思是以编程方式,我怀疑您必须在选择文件时挂钩 Windows 消息。

于 2009-08-24T11:16:06.020 回答