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 に答える