vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Klasse mit Button-Array 
Autor: Manfred X
Datum: 21.12.16 10:51

Hallo!

Du könntest die Buttons in einem Tablelayoutpanel anordnen
und ein Dialogformular erstellen.
Etwa so ...
Public Class ButtonTable
    Inherits TableLayoutPanel
 
    Dim buttonlist As New List(Of Button)
 
    Public Event Button_Clicked _
      (ByVal sender As Object, e As EventArgs)
 
    Public Sub New()
        Me.ColumnCount = 1
    End Sub
 
 
    Public Sub Add(text As String)
        Dim btn As New Button With {.Text = text}
        AddHandler btn.Click, AddressOf button_click
        AddHandler btn.MouseDown, AddressOf Button_MouseDown
 
        buttonlist.Add(New Button With {.Text = text})
        Me.Controls.Add(btn, 1, Me.RowCount)
    End Sub
 
 
    Private Sub button_click(ByVal sender As Object, e As EventArgs)
        'Click-Event an Formular weiterleiten  
        RaiseEvent Button_Clicked(sender, e)
    End Sub
 
 
    Private Sub Button_MouseDown(sender As Object, _
        e As System.Windows.Forms.MouseEventArgs)
 
        If Not e.Button = _
           Windows.Forms.MouseButtons.Right Then Exit Sub
 
        If Not TypeOf sender Is Button Then Exit Sub
 
        Dim btn As Button = DirectCast(sender, Button)
 
        'Dialog erstellen, ausführen und Rückgabe verarbeiten
        Using ButtonDlg As New ButtonDialog
            With ButtonDlg
                .Buttontext = btn.Text
                If .ShowDialog = DialogResult.OK Then
                    btn.Text = .Buttontext
                End If
            End With
        End Using
    End Sub
 
End Class
 
 
'Dialogformular
Public Class ButtonDialog
    Inherits Form
 
    Dim lbltext As New Label With _
             {.Parent = Me, .Text = "Button-Text", .Width = 120}
    Dim txttext As New TextBox With _
             {.Parent = Me, .Width = 120, .Left = 130}
 
    Dim btnok As New Button With _
             {.Parent = Me, .Text = "OK", .Top = 50, _
              .DialogResult = Windows.Forms.DialogResult.OK}
 
    Dim btnCancel As New Button With _
             {.Parent = Me, .Text = "Abbrechen", _
              .Top = 50, .Left = 130, _
              .DialogResult = Windows.Forms.DialogResult.Cancel}
 
 
    Public Property Buttontext As String
        Set(value As String)
            txttext.Text = value
        End Set
        Get
            Return txttext.Text
        End Get
    End Property
 
    Private Sub ButtonDialog_Load(sender As Object, _
                    e As System.EventArgs) Handles Me.Load
        Me.Size = New Size(220, 100)
        Me.Text = "Button einrichten"
    End Sub
End Class
Anwendungsbeispiel:
Public Class frmButtonTableDemo 'WinForms-Formular
 
    Dim WithEvents ba As New ButtonTable With {.Parent = Me}
 
 
    Private Sub frmButtonArray_Load(sender As System.Object, _
        e As System.EventArgs) Handles MyBase.Load
 
        ba.Add("BTN 1")
        ba.Add("BTN 2")
 
    End Sub
 
 
    Private Sub ba_Button_Clicked(sender As Object, _
        e As System.EventArgs) Handles ba.Button_Clicked
 
        Dim btn As Button = DirectCast(sender, Button)
 
        MsgBox(btn.Text & " ist betätigt worden")
    End Sub
 
End Class


Beitrag wurde zuletzt am 21.12.16 um 10:54:49 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Klasse mit Button-Array1.788Ortech20.12.16 17:17
Re: Klasse mit Button-Array1.059Manfred X21.12.16 10:51
Re: Klasse mit Button-Array904Ortech21.12.16 11:23
Re: Klasse mit Button-Array1.029Manfred X21.12.16 12:38
Re: Klasse mit Button-Array844Ortech21.12.16 12:44
Re: Klasse mit Button-Array903Manfred X21.12.16 13:25
Re: Klasse mit Button-Array851Ortech21.12.16 14:14

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel