2017-07-12 1 views
0

Ich beginne mit C# -Programmierung, ich habe ein Szenario, in dem ich eine Windows-Formularanwendung erstelle. Ich habe eine Schaltfläche innerhalb des Formulars erstellt und doppelklicken Sie darauf, um die zugehörige Klickfunktion zu generieren. Das Visual Studio generiert die Funktion mit dem Standardnamen.C#: Tastenkürzel ändern und Funktionsname klicken

private void button1_Click(object sender, EventArgs e) 
{ 

} 

Nun, wenn ich auf den Button in Eigenschaften umbenennen, bleibt der Name der Funktion gleich, was es schwierig macht Taste und Funktion zu beziehen, ich habe einen alten Code, wo viele solcher Fälle vorhanden sind. Also kann ich die Knöpfe und andere Dinge nicht löschen und neu erstellen.

Wie kann ich die Funktionen umbenennen, wenn ich die Schaltfläche umbenenne?

+2

Haben Sie tryed in den Funktionsnamen und drücken f2 klicken;) –

+0

'private void yournewbuttonname_Click (object sender, EvenArgs e)' manuell es, das ändern? – someguy76

Antwort

3

eingegeben Sie können den Namen der Methode ändern, indem Sie einfach den neuen Namen anstelle des alten eingeben, wenn Sie den Code bearbeiten. Genauso wie jeden Text zu ändern.

Dann können Sie bestätigen, dass die Steuerung noch dieses Ereignis entweder verwendet:

  1. zum Formular-Designer gehen und die Steuerung wählen. Überprüfen Sie seine Eigenschaften/Ereignisse und stellen Sie sicher, dass der Name immer noch ausgerichtet ist.
  2. Gehen Sie zum Code generiert von der Formular-Designer und finden Sie, wo es die Methode dem Ereignis zuweist, und ändern Sie es, wenn es geändert werden muss.

eine dieses sollte auch die anderen automatisch aktualisiert, obwohl ich es im Allgemeinen bevorzugt zu verwenden, um den ersten Ansatz für die Übereinstimmung mit dem Rest des Formulars Design-Prozesses vorstellen.

Beachten Sie, dass der Methodenname alles sein kann, was Sie möchten, es gibt keine standhafte Regel, die besagt, dass controlName_eventName(object sender, EvenArgs e) sein muss. Wenn Sie beispielsweise über mehrere Steuerelemente verfügen, die einen Ereignishandler gemeinsam nutzen, müssen Sie nicht entscheiden, welches Steuerelement im Methodennamen den Namen erhält. Sie können einen beliebigen allgemeinen Namen eingeben, z. B. saveFormChanges(object sender, EvenArgs e), und ihn dennoch als Handler für dieses Ereignis zuweisen.

1

Sie müssen den Namen des Ereignisses im Eigenschaftenfenster ändern. Klicken Sie enter image description here

1

zu Ihrem Designer gehen rechts -> Eigenschaften (F4) -> Veranstaltungen -> ClickEvent -> Geben Sie den Namen, was auch immer Sie wollen, und klicken Sie auf das schaffen Ereignis Klicken Sie mit dem Namen Sie

1

Ändern Sie button1_Click Methodenname im Code zu neuen Namen und drücken Sie dann Strg +. (Punkt) und wähle Umbenennen. Alternativ klicken Sie auf Glühbirne und wählen Umbenennen.

1

Der Name der Funktion muss nicht unbedingt mit dem Namen der Schaltfläche übereinstimmen, es ist nur die Konvention, die es einfacher macht zu verstehen, welches Element an welche Funktion bei welchem ​​Ereignis gebunden ist.

Wenn Sie die Datei FormName.Designer.cs eingeben, finden Sie die Funktion InitializeComponent, die die Eigenschaften aller Formularelemente enthält, einschließlich ihrer Ereignisbindung.Zum Beispiel, werden Sie wahrscheinlich haben es so etwas wie das hier vorbei:

this.button1.Click += new System.EventHandler(this.button1_Click); 

wo button1 Name des Elements ist, Click ist der Name der Veranstaltung dieses Elements und button1_Click ist der Name der Funktion, die Ereignisbehandlung.

Wenn Sie FormName.cs [Design] im Entwurfsmodus des Formulars sind, können Sie das Blitz-Symbol in den Visual Studio Properties Fenster (eine der Registerkarten neben Ihren Solution Explorer Registerkarte) zu finden. Unter diesem Symbol finden Sie die Liste aller möglichen Ereignisse des aktuell ausgewählten Elements in Ihrem Designer. Am Beispiel Ihrer Schaltfläche sollte es so aussehen:

enter image description here

Sie das Ereignis verarbeiten kann entweder hier oder in Ihrer FormName.Designer.cs Datei zu binden, aber es ist durch diese Ansicht zu bevorzugen, da Inhalt der Designer Datei wird automatisch generiert . InitializeComponent Funktion wird dann innerhalb des Konstruktors Ihres Formulars aufgerufen, das das Formular basierend auf dem Setup Ihrer Designer-Datei initialisiert.

1

Klicken Sie mit der rechten Maustaste auf den Funktionsnamen und wählen Sie Umbenennen. Der Name wird hervorgehoben (er ist grün auf meinem System, siehe Bild unten). Bearbeiten Sie den Namen und klicken Sie dann auf Übernehmen. Das click -Ereignis der Schaltfläche zeigt korrekt auf die neu umbenannte Methode.

enter image description here

enter image description here