Action Event per Code aufrufen

Hallo,
ich habe einer Check Box ein Action Event mit Code hinzugefügt. Im Action Event rufe per Code eine Methode auf, die eine Berechnungen startet. Diesen Code rufe ich aber auch von einer anderen Stelle auf und lasse die Berechnung durchführen. Wenn ich, nach dem die Berechnung von anderer Stelle aufgerufen wurde, anschließend das Action Event der Check Box durch einen Mausklick aufrufe wird die Berechnung erneut gestartet, aber stimmt die sie nicht mehr. Ich möchte nun den Berechnungscode in das Action Event legen und zu jeder Berechnung, egal ob vom Programmcode oder durch das Action Event die Berechnung starten.

Nun zu meiner eigentlichen Frage: Wie löse ich per Programmcode das Action Event (also eine Simulation eines Mausklicks) der Check Box aus?

Ich hoffe, ich habe mich verständlich ausgedrückt. Und habt mit der Antwort bitte Rücksicht, da ich in Xojo noch blutiger Einsteiger bin.

Hallo Arno,

Du kannst eine eigene Methode anlegen und diese dann von beliebigen Stellen im Programm aufrufen. Beispiel:

[code]Private Function MeineAddition(a As Integer, b As Integer) As Integer
Return a + b
End Function

Sub Window1.Open()
Self.Title = MeineAddition(10, 5).ToString
End Sub

Sub PushButton1.Action()
MessageBox(MeineAddition(10, 5).ToString)
End Sub[/code]

Hallo Martin,
danke für deine Antwort.
Ich habe eine Methode angelegt. Diese rufe ich einerseits über das Action Event der Check Box auf (per Mausklick) und andererseits durch eine Stelle im Programm.
Solange ich die Methode über das Action Event aufrufe funktioniert alles, aber sobald die Methode auch von der anderen Stelle aufrufe kommt die Berechnung durcheinander.
Ich möchte nun per Programmcode einen Mausklick auf die Check Box simulieren um zu schauen, ob dann die Berechnungen korrekt durchgeführt werden. Wie mache ich das?

Eine Simulation des Mausklicks kannst Du mit folgendem Code auslösen:

if MyCheckbox.Value then
MyCheckbox.Value = false
else
MyCheckbox.Value = true
end if

Hallo,

danke für deine Hilfe.

Das würde aber dann auch bedeuten, dass wenn ich den Value-Wert der Checkbox aus einer Datenbank vergebe, dass dann das Action Event der Check Box automatisch ausgeführt wird. Oder?

hem… der Code kann vereinfacht werden zu:

myCheckbox.value = not myCheckbox.value

Lege eine Property isUpdating as boolean an. Im Datenbank-Code machst Du:

isUpdating = true 'Datenbank-Code isUpdating = false

Und in der Checkbox im Action-Event machst Du dann:

if isUpdating then return

Hallo
Danke an alle.
Mit dem Wissen, dass das Action Event der Check Box bei Zuweisung des Value-Wertes automatisch ausgeführt wird, konnte ich mein Problem lösen.
Aber auch den Code von Beatrix werde ich bei Gelegenheit ausprobieren.

Danke und bis demnächst. Es werden sicherlich noch ein paar Fragen kommen

@Beatrix

[quote]hem… der Code kann vereinfacht werden zu:

myCheckbox.value = not myCheckbox.value[/quote]

Danke - das ist natrlich perfekt. So lerne ich hoffentlich auch logischer zu denken.

@Arno
Mit der Beschreibung von Beatrix kannst Du im Code selbst bestimmen, ob der Action Event ausgelst werden soll oder nicht.