none
Nur Dateiname mit Endung anzeigen lassen RRS feed

  • Frage

  • Hallo

    Ich habe 2 Verschieden arten die Datei in meiner Datagridview einzufügen einmal über Button mit OpenFileDialog und einmal mit Drag and Drop

    Hier möchte ich es so das es in Datagridview das komplette Verzeichnis anzeigt das funktioniert auch ohne Probleme.

    nun möchte ich aber auch das er mir nur den Dateiname in ein Label anzeigt

    einmal hier über den Button wie lese ich da nur den Dateiname aus?

        Private Sub Button_Durchsuchen_Click(sender As Object, e As EventArgs) Handles Button_Durchsuchen.Click
            If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
                DataGridView_Dateien.Rows.Add(OpenFileDialog1.FileName)
    
            End If
        End Sub

     und einmal über Drag and Drop

       Private Sub DataGridView_Dateien_DragOver(sender As Object, e As DragEventArgs) Handles DataGridView_Dateien.DragOver
            Dim draganddrop_datei = TryCast(e.Data, DataObject)
            If draganddrop_datei IsNot Nothing AndAlso draganddrop_datei.ContainsFileDropList Then
                e.Effect = DragDropEffects.Copy
            End If
        End Sub
    
        Private Sub DataGridView_Dateien_DragDrop(sender As Object, e As DragEventArgs) Handles DataGridView_Dateien.DragDrop
            Dim draganddrop_datei = TryCast(e.Data, DataObject)
            Dim dateiname As Array = draganddrop_datei.GetFileDropList.Cast(Of String).ToArray
            '   dateiname = draganddrop_datei.GetFileDropList.Cast(Of String).ToArray.ToString
            DataGridView_Dateien.Rows.Add(draganddrop_datei.GetFileDropList.Cast(Of String).ToArray)
            Anhang.Label_Datei_Anzeige.Text = dateiname(0)
    
            Anhang.Show()
    
        End Sub
    
        Private Sub DataGridView_Dateien_MouseDown(sender As Object, e As MouseEventArgs) Handles DataGridView_Dateien.MouseDown
            _PrevMouse = e
        End Sub

    Ich hoffe das mir jemand weiter helfen kann.

    Danke im voraus.

    Dienstag, 14. Januar 2020 16:36

Antworten

  • Hi,

    wie in deinem anderen Post bzgl. der Ordnernamen schon geschrieben, ist die System.IO.Path Klasse in fast allen Belangen rund um die Ermittlung von Pfadbestandteilen, der Zusammensetzung derselben, usw. dein Freund.

    In deinem Fall die GetFileName Methode.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    • Als Antwort markiert Mattes80 Mittwoch, 15. Januar 2020 08:18
    Dienstag, 14. Januar 2020 16:53
    Moderator

Alle Antworten

  • Hi,

    wie in deinem anderen Post bzgl. der Ordnernamen schon geschrieben, ist die System.IO.Path Klasse in fast allen Belangen rund um die Ermittlung von Pfadbestandteilen, der Zusammensetzung derselben, usw. dein Freund.

    In deinem Fall die GetFileName Methode.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    • Als Antwort markiert Mattes80 Mittwoch, 15. Januar 2020 08:18
    Dienstag, 14. Januar 2020 16:53
    Moderator
  • Hallo

    die Methode GetFileName gibt es leider bei Draganddrop_datei und bei OpenFileDialog1 nicht.

    das mit dem Split habe ich auch probiert das funktioniert leider auch nicht.

    Irgendwo hab ich da ein Denkfehler drin

    Mittwoch, 15. Januar 2020 08:11
  • Sorry ich hab es hinbekommen hatte nur ein kleinen Denkfehler

    danke für die Hilfe

    Mittwoch, 15. Januar 2020 08:18
  • Wann genau soll denn der Dateiname im Label angezeigt werden? nach Drag&Drop und nach Auswählen aus dem Dialog? Oder wenn im Grid ein Eintrag gewählt wurde?

    Mit

    Path.GetFileNameWithoutExtension(Dateiname)
    bekommst du auf jeden Fall den Namen der Datei oder Endung geliefert. 
    Mittwoch, 15. Januar 2020 08:43
  • Ich habe es so gelöst

            If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
                DataGridView_Dateien.Rows.Add(OpenFileDialog1.FileName)
                Dim fileName As String = OpenFileDialog1.FileName
                Dim result As String
                result = Path.GetFileName(fileName)
                Anhang.Label_Datei_Anzeige.Text = result
                Anhang.Label_Datei_Anhang_versteckt.Text = OpenFileDialog1.FileName
                Anhang.Show()
            End If

    und bei Drag and Drop so

            Dim draganddrop_datei = TryCast(e.Data, DataObject)
            Dim dateiname As Array = draganddrop_datei.GetFileDropList.Cast(Of String).ToArray
            Dim fileName As String = dateiname(0)
    
            DataGridView_Dateien.Rows.Add(draganddrop_datei.GetFileDropList.Cast(Of String).ToArray)
            Dim result As String
    
            result = Path.GetFileName(fileName)
            Anhang.Label_Datei_Anhang_versteckt.Text = dateiname(0)
            Anhang.Label_Datei_Anzeige.Text = result
            Anhang.Show()

    Mittwoch, 15. Januar 2020 10:00