Wie bekomme ich die Dateigröße der aktuell ausgewählten Datei in meinem Openfiledialog?Dateigröße von OpenFileDialog abrufen?
Antwort
Sie können es nicht direkt aus dem OpenFieldDialog abrufen.
Sie müssen den Dateipfad zu übernehmen und ein neues Fileinfo-Objekt aus es wie folgt consturct:
var fileInfo = new FileInfo(path);
Und von der fileinto Sie die Größe der Datei wie folgt
fileInfo.Length
bekommen
Für weitere Informationen schauen Sie sich diese msdn Seite an.
Ich denke, es 3 Weg, Ihren benutzerdefinierten offenen Dialog oder Einstellung von Code, um die Ansicht als Detail zu schaffen oder den Benutzer zu fragen Detailansicht
verwenden Wenn Sie meinen, wenn der Dialog läuft, ich vermute, dass Sie nur ändern die Dateiansicht für Details. Wenn Sie jedoch programmatisch meinen, habe ich den Verdacht, dass Sie eine Windows-Nachricht haken müssen, wenn die Datei ausgewählt ist.
Ohne interop und wie der erste Kommentar, sobald der Dialog abgeschlossen wurde, d. H. Datei/s ausgewählt wurden, würde dies die Größe geben.
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());
}
}
}
Dateigröße im Dialog müsste ich das Gefühl Interop verwenden
Andrew
Meinen Sie, während der Dialog geöffnet ist, oder nach der Dialog geschlossen wurde? Meinst du das für das Programm oder für den Benutzer des Programms? – Richard
Ich habe das Gefühl, dass einige Interop hier gebraucht werden :-) Nette Frage obwohl BTW, Interessant –
Weitere Klärung bitte, laut Richards Kommentar. –