KingLM97
Lieutenant
- Registriert
- Mai 2012
- Beiträge
- 918
Hallo,
ich bin gerade am schreiben eines Programms, welches Anhand von einem vorher angegeben Pfad mehrere Buttons erstellt. Über diesen Pfad wird ein Programm eingelesen, welches über den entsprechenden Button starten soll. Funktioniert auch, jedenfalls mit nur einem Button. Bei mehreren Buttons startet er immer nur das letzte hinzugefügte Programm.
Ich verstehe nicht, wieso er es nicht macht. Irgendwo ein Denkfehler?
Im Anhang das ganze Projekt.
ich bin gerade am schreiben eines Programms, welches Anhand von einem vorher angegeben Pfad mehrere Buttons erstellt. Über diesen Pfad wird ein Programm eingelesen, welches über den entsprechenden Button starten soll. Funktioniert auch, jedenfalls mit nur einem Button. Bei mehreren Buttons startet er immer nur das letzte hinzugefügte Programm.
Code:
Public Class Form1
Public nameProg As String
Public Parameter As String
Dim Knopf As New Button
Private Sub ButtonHinzu_Click(sender As Object, e As EventArgs) Handles ButtonHinzu.Click
Try
Knopf = New Button
Dim tab As Integer = 1
Knopf.Text = TextBoxPfad.Text
Knopf.TextImageRelation = TextImageRelation.TextBeforeImage
Knopf.Image = Icon.ExtractAssociatedIcon(nameProg).ToBitmap
TableLayoutPanelButtons.Controls.Add(Knopf)
Knopf.SetBounds(1, 1, 500, 500)
Knopf.Name = nameProg
Knopf.TabIndex = tab
tab = tab + 1
AddHandler Knopf.Click, AddressOf ProgrammStarten
Catch fehler As Exception
If TextBoxPfad.Text = "" Then
MsgBox("Bitte ein Programm auswählen.")
End If
If TextBoxPfad.Text = OpenFileDialog1.SafeFileName Then
MsgBox("Maximale Anzahl an Programmen erreicht.")
End If
End Try
End Sub
Private Sub ProgrammStarten(ByVal sender As System.Object, ByVal e As System.EventArgs)
Parameter = TextBoxParameter.Text
Process.Start(Knopf.Name, Parameter)
'MsgBox(nameProg)
End Sub
Private Sub TextBoxPfad_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles TextBoxPfad.MouseDoubleClick
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
TextBoxPfad.Text = System.IO.Path.GetFileNameWithoutExtension(OpenFileDialog1.FileName)
nameProg = System.IO.Path.GetFullPath(OpenFileDialog1.FileName)
End If
End Sub
End Class
Ich verstehe nicht, wieso er es nicht macht. Irgendwo ein Denkfehler?
Im Anhang das ganze Projekt.