Event eines Controls auslösen?? (VB.NET)
-
hi ihr,
Habe eine Checkboxcontrol, und möchte gerne dessen event "CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)" auslösen im code.
Dachte eigentlich das diese Event durch dne aufruf "CheckBox1.checked= true" geworfen wird, aber anscheinden nich. Wie kann ich diese von hand schmeisen?Danke
-
this.checkBox1.CheckState = CheckState.Checked;
-
funmtioniert nicht:
es wird weder das "CheckeStateChanged" Event bzw. das "Checkedchange" event aufgerufen!
-
Das geht gar nicht und ist genau auch einer der Unterschiede zwischen events und multicast-delegates. Es widerspricht auch total dem Observer-Pattern. Du hast allerdings in diesem konkreten Fall die Möglichkeit, von der Checkbox abzuleiten und die On... Methode aufzurufen. Ist aber die Frickel-Lösung, ich würde lieber den Code, der durch das Event ausgelöst werden soll direkt aufrufen.
-
klar funktioniert das, hab's für Dich sogar getestet. Poste mal Deinen Code.
-
Das Event das ausgeführt werden soll:
Private Sub AlternateMaster_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles AlternateMaster.CheckStateChanged 'Sub Controls der gruppe entweder aktivieren oder deaktiviern For Each Ctrl As Control In Me.Alternates.Controls If Not Ctrl.Handle.Equals(Me.AlternateMaster.Handle) Then Ctrl.Enabled = Me.AlternateMaster.Checked() End If Next 'Ensprichedne Slave des Modul dekativieren wenn Master unchecked Modulprops.PropertyVal("ID_ALT") = Me.AlternateMaster.Checked End Sub
Konstruktor der Klasse, in dem das Event ausgelöst werden soll:
Public Sub New(ByVal SysID As Integer, ByVal ModID As Integer) MyBase.New() Me.AlternateMaster.CheckState= Me.AlternateMaster.Checked End Sub
-
Du nutzt das falsche Event, so kann's net funktionieren.
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged MessageBox.Show("funzt") End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.CheckBox1.CheckState = CheckState.Checked End Sub