| |
VB.NET - Ein- und UmsteigerButton in tabpage ansprechen | | | Autor: joachimS | Datum: 19.06.15 18:15 |
| hallo,
ich hab mir in einer tabpage ein Button angelegt
Dim butStart As New Button()
butStart.Parent = tpFlug 'tabpage tpFlug
butStart.Text = "Timer Start"
butStart.AutoSize = True
butStart.Location = New Point(100, 100) jetzt möchte ich natürlich auch wenn ich drauf klicke das was passiert
hier bei tut sich nämlich nichts
Private Sub butStart_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) _
Handles butStart.Click
MsgBox("Test", MsgBoxStyle.Critical)
End Sub wie muss ich den ansprechen, damit er was macht?
mfg. | |
Re: Button in tabpage ansprechen | | | Autor: Manfred X | Datum: 19.06.15 18:21 |
| Bei dynamisch zur Laufzeit erstellten Controls
solltest Du "AddHandler" verwenden, um einem Control-Ereignis
eine HandlerRoutine zuzuordnen.
Beispiele findest Du im Forum.
| |
Re: Button in tabpage ansprechen | | | Autor: joachimS | Datum: 19.06.15 18:50 |
| hallo,
jo.. das hat gefehlt
AddHandler butStart.Click, AddressOf butStart_Click hab aber noch eine Frage ...
auf der gleichen tabpage hab ich eine Textbox
die wollte ich jetzt per Button Click füllen
was muss ich da machen
Dim txtAuflass As TextBox = CType(sender, TextBox)
txtAuflass.Text = "hallo" | |
Re: Button in tabpage ansprechen | | | Autor: Manfred X | Datum: 19.06.15 19:05 |
| Der Sender-Parameter im Click-Event eines Button, liefert
die Referenz zur Instanz des Button, auf den geclickt worden ist.
Wenn Du eine Textbox auf der TabPage ansprechen willst, kannst Du Dir
die Referenz auf die Box z.B. aus der Controls-Auflistung der TabPage besorgen.
Sei "tp" die TabPage und die Name-Eigenschaft der dort enthaltenen Textbox sei "TheBox":
For Each ctrl As Control In tp.Controls
If TypeOf ctrl Is TextBox AndAlso ctrl.Name = "TheBox" Then
Dim tbo As TextBox = DirectCast(ctrl, TextBox)
tbo.Text = "Was auch immer"
End If
Next ctrl | |
Re: Button in tabpage ansprechen | | | Autor: joachimS | Datum: 19.06.15 19:39 |
| da tut sich nix
keine Fehlermeldung | |
Re: Button in tabpage ansprechen | | | Autor: Manfred X | Datum: 19.06.15 19:54 |
| In diesem Windows-Forms-Form klappt es immerhin.
Public Class frmTabDemo
Dim tc As New TabControl With _
{.Parent = Me, .Dock = DockStyle.Fill}
Dim tp As New TabPage With _
{.Parent = tc, .Dock = DockStyle.Fill, .Text = "TheTab"}
Private Sub frmTabDemo_Load(sender As System.Object, _
e As System.EventArgs) Handles MyBase.Load
Me.Width = 500
Dim tbo As New TextBox With _
{.Parent = tp, .Font = New Font("Arial", 24), _
.Dock = DockStyle.Top, .Name = "TheBox"}
Dim btn As New Button With _
{.Parent = tp, .Text = "Click", .Top = 100}
AddHandler btn.Click, AddressOf btn_Click
End Sub
Public Sub btn_Click(sender As Object, e As EventArgs)
For Each ctrl As Control In tp.Controls
If TypeOf ctrl Is TextBox AndAlso ctrl.Name = "TheBox" Then
Dim tb As TextBox = DirectCast(ctrl, TextBox)
tb.Text = "Da tut sich schon etwas"
End If
Next ctrl
End Sub
End Class | |
Find-Methode | | | Autor: Manfred X | Datum: 19.06.15 20:37 |
| Falls Du z.B. alle geschachtelten Controls dynamisch erstellst,
kannst Du vorteilhaft die Find-Methode verwenden,
um ein Control (oder mehrere) anhand des Namens zu ermitteln.
Der zweite Parameter bestimmt, ob auch Controls in untergeordneten
Containern ermittelt werden.
Public Sub btn_Click(sender As Object, e As EventArgs)
Dim ctrl() As Control = Me.Controls.Find("TheBox", True)
If ctrl.Length > 0 AndAlso TypeOf ctrl(0) Is TextBox Then
Dim tb As TextBox = DirectCast(ctrl(0), TextBox)
tb.Text = "Da tut sich schon etwas"
End If
End Sub | |
Re: Button in tabpage ansprechen | | | Autor: joachimS | Datum: 19.06.15 20:42 |
| das stimmt
und sieht einfacher und übersichtlicher aus | |
Re: Button in tabpage ansprechen | | | Autor: Manfred X | Datum: 19.06.15 20:59 |
| In komplexen Formularen ist es meist günstiger,
Referenzen für zusammengehörige Gruppen von Controls
in Dictionarys einzutragen.
Die Vergabe eindeutiger Schlüsselwerte wird überwacht,
und die Dictionary (Value) kann für abgeleitete Klassen
erstellt werden - das casten entfällt.
Ein direkter Zugriff auf jedes Control per Schlüssel ist möglich.
| |
| 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 |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevCoolbar 3.0
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere Infos
|
|
|
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
|
|