Hallo,
ich nutze ein FlowLayoutPanel um einzelne Datensätze einer MySQL Datenbank in Form einer Visitenkarte darzustellen.
Die gesamten Steuerelemente des FlowLayoutPanels werden per Code:
'...
While myReader.Read
Dim varID = myReader!id
Dim CardPanel = New KdDB_2008.GradientPanel
Dim btnHeader = New C1.Win.C1Input.C1Button
Dim lblFullName = New C1.Win.C1Input.C1Label
Dim lblTelNr = New C1.Win.C1Input.C1Label
Dim lbl1 = New C1.Win.C1Input.C1Label
Dim lblStreet = New C1.Win.C1Input.C1Label
Dim lblPLZ = New C1.Win.C1Input.C1Label
Dim lblCity = New C1.Win.C1Input.C1Label
Dim lblMail = New C1.Win.C1Input.C1Label
Dim lblBirth = New C1.Win.C1Input.C1Label
Dim lblKdNr = New C1.Win.C1Input.C1Label
Dim lblID = New C1.Win.C1Input.C1Label
Dim picCustomer = New C1.Win.C1Input.C1PictureBox
flpContacts.Controls.Add(CardPanel)
CardPanel.BackColor = System.Drawing.Color.White
CardPanel.BackColor2 = _
System.Drawing.SystemColors.GradientActiveCaption
CardPanel.BorderBottom = System.Drawing.Color.Navy
CardPanel.BorderLeft = System.Drawing.Color.Navy
CardPanel.BorderRight = System.Drawing.Color.Navy
CardPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
CardPanel.BorderTop = System.Drawing.Color.Navy
CardPanel.Controls.Add(lblID)
CardPanel.Controls.Add(lblKdNr)
CardPanel.Controls.Add(lblBirth)
CardPanel.Controls.Add(lblMail)
CardPanel.Controls.Add(picCustomer)
CardPanel.Controls.Add(lblCity)
CardPanel.Controls.Add(lblPLZ)
CardPanel.Controls.Add(lblStreet)
CardPanel.Controls.Add(lbl1)
CardPanel.Controls.Add(lblTelNr)
CardPanel.Controls.Add(lblFullName)
CardPanel.Controls.Add(btnHeader)
CardPanel.ForeColor = System.Drawing.Color.Black
CardPanel.LinearGradientMode = _
System.Drawing.Drawing2D.LinearGradientMode.Horizontal
CardPanel.Name = "CardPanel"
CardPanel.Size = New System.Drawing.Size(300, 180)
CardPanel.TabIndex = 0
CardPanel.Margin = New System.Windows.Forms.Padding(0, 0, 20, 20)
'btnHeader
btnHeader.Dock = System.Windows.Forms.DockStyle.Top
btnHeader.Location = New System.Drawing.Point(0, 0)
btnHeader.Name = "btnHeader"
btnHeader.Tag = varID
btnHeader.Size = New System.Drawing.Size(298, 23)
btnHeader.TabIndex = 0
Dim varNname As String = myReader!nname
Dim varVname As String = myReader!vname
btnHeader.Text = varNname & ", " & varVname
btnHeader.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
btnHeader.UseVisualStyleBackColor = True
btnHeader.VisualStyle = C1.Win.C1Input.VisualStyle.Office2007Black
btnHeader.VisualStyleBaseStyle = _
C1.Win.C1Input.VisualStyle.Office2007Black
'.... usw.
AddHandler btnHeader.Click, AddressOf ButtonClick
End While
myReader.Close()
conDB.Close()
End Sub
Private Sub ButtonClick(ByVal sender As System.Object, ByVal e As _
System.EventArgs)
Dim tButton As Button = CType(sender, Button)
frmContactsEdit.lblKdID.Text = tButton.Tag.ToString
frmContactsEdit.Show()
End Sub hinzugefügt.
in diesem Tipp http://www.vbarchiv.net/xtra/details.php?id=9075 von Roland Wutzke habe ich eine Anleitung gefunden wie ich einen Button ansprechen kann.
'...
AddHandler btnHeader.Click, AddressOf ButtonClick
'...
Private Sub ButtonClick(ByVal sender As System.Object, ByVal e As _
System.EventArgs)
Dim tButton As Button = CType(sender, Button)
frmContactsEdit.lblKdID.Text = tButton.Tag.ToString
frmContactsEdit.Show()
End Sub Nun zu meiner Frage....
ich möchte diesem Button ein Kontextmenü mit 3 Items zuweisen. Diese 3 KontextMenüItems sollen sich genau wie der Button auf die ID des jeweiligen Datensatzes beziehen.
Kann mir jemand helfen??
Vielen Dank schonmal vorab!!
Marco
Wie
MS Visual Studio 2010 Prof.
MS Windows 7 Ultimate 64-bit
INTEL QuadCore Q6600 @2,40 GHz / 8GB RAM
|