Ich habe einen Button auf form2. Ich möchte, wenn Benutzer auf diese Schaltfläche klicken, machen Sie etwas und nach diesem Aufruf form1.button click event wie kann ich das tun?Klicken Sie auf die Schaltfläche aus einem anderen Formular C# winForms
Antwort
Machen Sie den Ereignishandler in Form1 public und rufen Sie den Handler Form1.button_click direkt auf. Sie können Dummy-Parameter (diese, null) angeben, wenn Sie diese nicht im Handler verwenden.
Überdenken Sie Ihr Design. Im besten Fall sollten Ihre Event-Handler nur einige Funktionen einer anderen Ebene aufrufen, was tatsächlich "etwas bewirkt". Das funktioniert genauso gut von form1 oder von form2 oder von überall.
Warum möchten Sie auf eine Schaltfläche auf Formular eins klicken. Haben Sie diesen Ansatz in Betracht gezogen?
Class form 1
{
button click()
{
using (form2 = new form 2)
{
if (form2.showdialog()==dialogresult.OK)
{
data odata = form2.Data;
//do work
}
}
}
}
Class form2
{
public property Data
{
get;
}
button click()
{
if (form valid)
{
this.dialogresult = dialogresult.ok;
}
else
{
this.dialogresult = dialogresult.cancel;
}
this.close();
}
}
Ich weiß nicht einmal was das * bedeutet *. Natürlich kompiliert es nicht, aber ich bin mir nicht einmal sicher, was es zeigen soll. Ruft der Setter für die Eigenschaft 'Data' die' Click'-Event-Handler-Methode der Schaltfläche auf? Weil das einfach falsch ist. –
Ich ging davon aus, dass Sie ein zweites Formular öffnen, um Daten zu erhalten oder etwas zu arbeiten. dann die Daten in Formular 1 verwenden? Du hast nicht wirklich gesagt, was du in der Frage getan hast, also ist es offen für Interpretation! Ich würde das obige Beispiel verwenden, wenn Formular 1 ein Kundenauftragseingabebildschirm und Formular 2 ein neues Kundenformular ist. Klicken Sie auf Formular 1, um einen neuen Kunden einzugeben, Formular 2 übernimmt die Kundendetails, erstellt den Datensatz und die Dateneigenschaft ist der gespeicherte Kunde. Wenn Formular 2 gespeichert und nicht storniert wurde (dh das Dialogfeldergebnis auf OK gesetzt wurde), kann Formular 1 den Kunden des Kundenauftrags auf die Dateneigenschaft festlegen – WraithNath
- 1. Winforms Klicken Sie auf Ereignis nicht abfeuern
- 2. Navigieren Sie zu einer anderen Seite auf die Schaltfläche klicken
- 3. C# winforms transparent Formular Overlay Problem
- 4. Inhalt von einem Formular aus einem anderen Formular aktualisieren vb.net
- 5. Animationen: Sliding & Fading-Steuerelemente auf einem C# -Formular (winforms)
- 6. Ändern Etikettentext auf Knopf klicken in einem anderen Formular
- 7. React native Schaltfläche klicken Sie auf einen anderen Bildschirm bewegen
- 8. WinForms, Referencing zu einem Textfeld und Schaltfläche aus einer Klasse
- 9. jQuery.draggable() - Klicken Sie auf Schaltfläche klicken
- 10. Bestimmen Sie, ob es Änderungen in einem Formular gibt, wenn Sie auf eine Senden-Schaltfläche klicken
- 11. JQuery/JavaScript - klicken Trigger-Taste aus einem anderen Schaltfläche klicken Ereignis
- 12. C# WinForms - Wie kann ich Daten aus einem Textfeld auf einem Formular über ein anderes Formular abrufen?
- 13. Schaltfläche simulieren klicken
- 14. Klicken Sie auf eine Schaltfläche auf einem Browser native JavaScript Popup-Alarmfenster Selenium/C#
- 15. Verschieben von Text von einem Formular RichtextBox zu einem anderen auf einem anderen Formular in C#
- 16. Schließen Sie die Statusleiste, wenn Sie auf die Schaltfläche klicken.
- 17. mechanisieren Python klicken Sie auf eine Schaltfläche
- 18. Füllen Sie ein Formular beim Klicken aus?
- 19. Warum löst die Schaltfläche "toggle" von jQuery die Schaltfläche "Senden" in einem Formular aus?
- 20. C#, Zeilenanzahl in Datagridview auf Schaltfläche klicken
- 21. So rufen Sie Tooltip beim Klicken auf die Schaltfläche auf
- 22. Warum Ng Repeat funktioniert nicht, wenn die Schaltfläche aus einem anderen Formular aufgerufen wird?
- 23. Pop ein Client-Formular durch Klicken auf eine asp.net-Schaltfläche
- 24. Klicken Sie auf die Schaltfläche auf ListView funktioniert nicht
- 25. Detect klicken auf die +/- Schaltfläche in einem TreeView/Umwandlung von C# zu Powershell
- 26. C# winforms Formular anzeigen cmd
- 27. Espresso - klicken Sie auf Textansicht (Schaltfläche)
- 28. Klicken Sie zweimal auf die Schaltfläche, um die Funktion auszuführen
- 29. C# Wie Wert Box auf eine Schaltfläche klicken klicken
- 30. Klicken Sie auf die Schaltfläche Remote | Div | CasperJS
Oder noch besser, machen Sie die Taste Kontrolle 'public' oder' friend' zugänglich, dann seine [ 'PerformClick' Methode] aufrufen (http://msdn.microsoft.com/en-us/library/system .windows.forms.button.performclick.aspx). Nur etwas besser als der direkte Aufruf von Event-Handler-Methoden. +1 für "überdenken Sie Ihr Design". –
und Ihre +1 für PerformClick. Ich wusste das noch nicht. – user492238
Es wird von der 'IButtonControl'-Schnittstelle bereitgestellt (die offensichtlich das' Button'-Steuerelement implementiert). Für die meisten anderen Steuerelemente oder sogar für andere Ereignisse ist sie nicht vorhanden. Das Aufrufen des Ereignishandlers "Click" einer Schaltfläche ist jedoch viel häufiger als in den anderen Fällen. –