Hallo,
schreibe gerade ein kleines Programm, wo für verschiedene Kunden Groupboxen erstellt werden mit jeweils drei Buttons (Excel/PDF/Zng). Man kann Auswählen welche Kunden angezeigt werden sollen und diese Groupboxen/Button werden dann in der Laufzeit erstellt. Das klappt auch alles mit dem erstellen. Die Daten dafür werden aus eine Datatable genommen die ich erstellt habe. Problem wie setze ich hier jetzt am besten die Click Events. Ich mache das mit einer Schleife und hier (DGV_Einstellung_Kunde.Rows(i_dgv).Cells(_dt_kunde_ltl).Value.ToString) ist der Link zum Beispiel für die Exceltabelle abgespeichert. Nur wird der Zähler (i_dgv) nicht mit übergeben. Wie stelle ich das an, das für jeden Kunden der richtige Linke genommen wird.
Spoiler anzeigen
schreibe gerade ein kleines Programm, wo für verschiedene Kunden Groupboxen erstellt werden mit jeweils drei Buttons (Excel/PDF/Zng). Man kann Auswählen welche Kunden angezeigt werden sollen und diese Groupboxen/Button werden dann in der Laufzeit erstellt. Das klappt auch alles mit dem erstellen. Die Daten dafür werden aus eine Datatable genommen die ich erstellt habe. Problem wie setze ich hier jetzt am besten die Click Events. Ich mache das mit einer Schleife und hier (DGV_Einstellung_Kunde.Rows(i_dgv).Cells(_dt_kunde_ltl).Value.ToString) ist der Link zum Beispiel für die Exceltabelle abgespeichert. Nur wird der Zähler (i_dgv) nicht mit übergeben. Wie stelle ich das an, das für jeden Kunden der richtige Linke genommen wird.
VB.NET-Quellcode
- Public Sub GB_einzeichnen()
- Dim PosX As Integer = 0
- Dim PosY As Integer = 0
- Dim _grbx As Integer = 95
- Dim _grby As Integer = 120
- PosX = 10
- PosY = 30
- For i As Integer = 0 To LB_sichtbar.Items.Count - 1
- For i_dgv As Integer = 0 To Me.DGV_Einstellung_Kunde.Rows.Count - 2
- If CStr(LB_sichtbar.Items.Item(i)) = (DGV_Einstellung_Kunde.Rows(i_dgv).Cells(_dt_kunde).Value.ToString) Then
- _grb = New GroupBox
- Controls.Add(_grb)
- _grb.Parent = Hauptfenster
- _grb.Name = "GB_" + (DGV_Einstellung_Kunde.Rows(i_dgv).Cells(_dt_kunde).Value.ToString)
- _grb.Location = New Point(PosX, PosY)
- 'If setzen für größe der GB zu bestimmen, Abfrage Link_Sonder im DT
- _grb.Size = New Size(_grbx, _grby)
- _grb.Text = ""
- _la = New Label
- Controls.Add(_la)
- _la.Font = New Font("Arial", 12, FontStyle.Bold)
- _la.Parent = _grb
- _la.Name = "L_" + (DGV_Einstellung_Kunde.Rows(i_dgv).Cells(_dt_kunde).Value.ToString)
- _la.Location = New Point(5, 8)
- _la.Size = New Size(85, 20)
- _la.Text = (DGV_Einstellung_Kunde.Rows(i_dgv).Cells(_dt_kunde).Value.ToString)
- _la.TextAlign = ContentAlignment.MiddleCenter
- _pic = New PictureBox
- Controls.Add(_pic)
- _pic.Parent = _grb
- _pic.Image = My.Resources.Kundenbild
- _pic.BackColor = BackColor
- _pic.SizeMode = PictureBoxSizeMode.CenterImage
- _pic.BorderStyle = BorderStyle.None
- _pic.Name = "Pic_" + (DGV_Einstellung_Kunde.Rows(i_dgv).Cells(_dt_kunde).Value.ToString)
- _pic.SizeMode = PictureBoxSizeMode.StretchImage
- _pic.Size = New Size(85, 50)
- _pic.Location = New Point(5, 30)
- _b_excel = New Button
- Controls.Add(_b_excel)
- _b_excel.Parent = _grb
- _b_excel.Name = "B_excel_" + (DGV_Einstellung_Kunde.Rows(i_dgv).Cells(_dt_kunde).Value.ToString)
- _b_excel.Size = New Size(25, 25)
- _b_excel.Location = New Point(5, 85)
- _b_excel.BackgroundImage = My.Resources.Excel
- _b_excel.BackgroundImageLayout = ImageLayout.Zoom
- _b_excel.PerformClick()
- AddHandler _b_excel.Click, AddressOf _b_excel_klick
- _b_pdf = New Button
- Controls.Add(_b_pdf)
- _b_excel.Name = "B_pdf_" + (DGV_Einstellung_Kunde.Rows(i_dgv).Cells(_dt_kunde).Value.ToString)
- _b_pdf.Parent = _grb
- _b_pdf.Size = New Size(25, 25)
- _b_pdf.Location = New Point(35, 85)
- _b_pdf.BackgroundImage = My.Resources.saveaspdf
- _b_pdf.BackgroundImageLayout = ImageLayout.Zoom
- _b_zng = New Button
- Controls.Add(_b_zng)
- _b_zng.Parent = _grb
- _b_excel.Name = "B_zng_" + (DGV_Einstellung_Kunde.Rows(i_dgv).Cells(_dt_kunde).Value.ToString)
- _b_zng.Size = New Size(25, 25)
- _b_zng.Location = New Point(65, 85)
- _b_zng.BackgroundImage = My.Resources.sworks
- _b_zng.BackgroundImageLayout = ImageLayout.Zoom
- Exit For
- End If
- Next
- PosX = PosX + 10 + _grbx
- Next
- End Sub
- 'Das geht so natürlich nicht, habe es mal stehen lassen, damit erkenntlich wird was ich möchte.
- Sub _b_excel_klick(ByVal sender As Object, ByVal e As EventArgs)
- If Hauptfenster.TBsuchen.Text = "" Then
- System.Diagnostics.Process.Start("explorer", (DGV_Einstellung_Kunde.Rows(i_dgv).Cells(_dt_kunde_ltl).Value.ToString))
- Else
- Hauptfenster.Suchen()
- End If
- End Sub