【问题标题】:Getting filesize from OpenFileDialog?从 OpenFileDialog 获取文件大小?
【发布时间】:2009-08-24 11:02:46
【问题描述】:

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

【问题讨论】:

  • 你的意思是在对话打开时,还是在对话关闭之后?你的意思是为程序还是为程序的用户?
  • 我觉得这里需要一些互操作 :-) 顺便说一句,这个问题很好,很有趣
  • 请根据理查德的评论进行更多说明。

标签: c# openfiledialog


【解决方案1】:

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

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

var fileInfo = new FileInfo(path);

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

fileInfo.Length

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

【讨论】:

    【解决方案2】:

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

    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】:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2015-07-27
          • 1970-01-01
          • 2020-10-17
          • 2017-08-26
          • 2017-10-03
          • 2014-08-18
          • 1970-01-01
          • 1970-01-01
          • 2018-05-08
          相关资源
          最近更新 更多