vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Ein- und Umsteiger
AddHandler / RemoveHandler 
Autor: Manfred X
Datum: 17.12.13 09:16

Vielleicht so .....
Public Class DynamicControlDemo2
 
    Dim WithEvents ControlCountButton As New Button With _
        {.Parent = Me, .Width = 200, .Text = "Zahl der Textboxen"}
 
    Dim WithEvents BoxFunctionCombo As New ComboBox With _
        {.Parent = Me, .Top = 50, _
         .DropDownStyle = ComboBoxStyle.DropDownList}
 
    Dim BoxFunctionCombo_SelectedIndex As Integer
 
    Private Sub DynamicControlDemo2_Load(sender As System.Object, _
                e As System.EventArgs) Handles MyBase.Load
 
        Me.Size = New Size(300, 600)
 
        With BoxFunctionCombo
            .Items.AddRange _
                ({"nur Ziffern", _
                  "nur Buchstaben (klein)", _
                  "nur Buchstaben (groß)"})
 
            .SelectedIndex = 0
            BoxFunctionCombo_SelectedIndex = -1
        End With
    End Sub
 
    Private Sub ControlCountButton_Click(sender As Object, _
        e As System.EventArgs) Handles ControlCountButton.Click
 
        Dim inp As String = InputBox("Wie viele Textboxen?", Me.Name, " 3")
        Dim c As Integer
        If Not Integer.TryParse(inp, c) Then Exit Sub
        If c < 1 Or c > 5 Then Exit Sub
 
        ClearBoxes()
 
        For i As Integer = 0 To c - 1
            Dim tbo As New TextBox With _
                {.Parent = Me, .Top = 50 * (i + 3), .Width = 200}
        Next i
 
        BoxFunctionCombo_SelectedIndexChanged(Me, EventArgs.Empty)
 
    End Sub
 
 
    Private Sub NurZiffern(ByVal sender As Object, _
                           e As KeyPressEventArgs)
        Dim ziffern As String = "1234567890"
        If Asc(e.KeyChar) = 8 Then Exit Sub
        If Not ziffern.Contains(e.KeyChar) Then e.Handled = True
    End Sub
 
 
    Private Sub NurBuchstabenKlein(ByVal sender As Object, _
                                   e As KeyPressEventArgs)
        Dim buchstaben As String = "abcdefghijklmnopqrstuvwxyz"
        If Asc(e.KeyChar) = 8 Then Exit Sub
        If Not buchstaben.Contains(e.KeyChar) Then e.Handled = True
    End Sub
 
 
    Private Sub NurBuchstabenGross(ByVal sender As Object, _
                                   e As KeyPressEventArgs)
        Dim buchstaben As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        If Asc(e.KeyChar) = 8 Then Exit Sub
        If Not buchstaben.Contains(e.KeyChar) Then e.Handled = True
    End Sub
 
 
    Private Sub ClearBoxes()
 
        For i As Integer = Me.Controls.Count - 1 To 0 Step -1
            If TypeOf Me.Controls(i) Is TextBox Then
                Me.Controls.RemoveAt(i)
            End If
        Next i
    End Sub
 
 
    Private Sub BoxFunctionCombo_SelectedIndexChanged(sender As Object, _
            e As System.EventArgs) Handles BoxFunctionCombo.SelectedIndexChanged
 
        With BoxFunctionCombo
            For Each ctl As Control In Me.Controls
                If TypeOf ctl Is TextBox Then
 
                    Select Case BoxFunctionCombo_SelectedIndex
                        Case 0
                            RemoveHandler ctl.KeyPress, _
                                     AddressOf NurZiffern
                        Case 1
                            RemoveHandler ctl.KeyPress, _
                                     AddressOf NurBuchstabenKlein
                        Case 2
                            RemoveHandler ctl.KeyPress, _
                                     AddressOf NurBuchstabenGross
                    End Select
 
 
                    Select .SelectedIndex
                        Case 0
                            AddHandler ctl.KeyPress, _
                                  AddressOf NurZiffern
                        Case 1
                            AddHandler ctl.KeyPress, _
                                  AddressOf NurBuchstabenKlein
                        Case 2
                            AddHandler ctl.KeyPress, _
                                  AddressOf NurBuchstabenGross
                    End Select
                End If
            Next ctl
 
            BoxFunctionCombo_SelectedIndex = .SelectedIndex
        End With
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Addhandler addieren sich ungewollt1.238Theo_kkv16.12.13 17:35
Re: Addhandler addieren sich ungewollt860ModeratorDaveS16.12.13 17:56
Re: Addhandler addieren sich ungewollt883Theo_kkv16.12.13 19:05
Re: Addhandler addieren sich ungewollt828Manfred X16.12.13 19:50
Re: Addhandler addieren sich ungewollt909ModeratorDaveS16.12.13 21:22
Re: Addhandler addieren sich ungewollt797Theo_kkv17.12.13 18:03
Re: Addhandler addieren sich ungewollt843Theo_kkv17.12.13 06:17
Kleines Beispiel862Manfred X17.12.13 08:28
AddHandler / RemoveHandler855Manfred X17.12.13 09:16

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-2025 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