2016-05-12 18 views
0

Ich erstelle eine meine Konto-Seite für meine C# -Anwendung. Ich habe es mit vielen verschiedenen Bearbeitungsschaltflächen für verschiedene Details eingerichtet. Ich sollte es weniger mühsam machen, eine Methode zu erstellen und zu erstellen, die die Form so verändert, wie sie benötigt wird.Wie Sie eine System.Drawing.Size als Parameter an eine Methode übergeben

Hier ist mein Code, den ich hoffe, wird die Code-Wiederverwendung stoppen.

private void OnEditButton(string boxSelected, Size size) 
    { 
     if (doneBtn.Visible) 
     { 
      MessageBox.Show("Must edit current detail before editting a new one"); 
      return; 
     } 
     lnametxt.Enabled = true; 
     lnameLink.Visible = false; 
     doneBtn.Visible = true; 
     doneBtn.Location = new Point(size); 
     TextBoxSelected = boxSelected; 
    } 

The TextBoxSelected Property erzählt die Datenbank, die Spalte sie werden sich ändern, so ist dies ein Parameter, wie es für jeden Link Bearbeiten ändern.

Was versuche ich zu tun? - Ich versuche, die Größe als Parameter für diese Methode zu übergeben. Hier ist der Code, der die Methode aufrufen wird.

private void lnameLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) 
    { 
     OnEditButton("lname", (495, 55)); 
    } 

an „(495, 55):“ Es hat einen Fehler i die zweite viele Klammern gesetzt haben, um zu versuchen und sehen, ob es mit, dass es anstatt es auf seiner eigenen arbeiten. Beide zeigen, dass es 3 Parameter hat.

Hier ist die Idee, die ich für gehen versuchen, aber ohne die Parameter an Ort und Stelle:

private void OnEditButton() 
    { 
     if (doneBtn.Visible) 
     { 
      MessageBox.Show("Must edit current detail before editting a new one"); 
      return; 
     } 
     lnametxt.Enabled = true; 
     lnameLink.Visible = false; 
     doneBtn.Visible = true; 
     doneBtn.Location = new Point(495, 55); 
     TextBoxSelected = "lname"; 
    } 

wenn Sie dann noch mehr Informationen wünschen Sie mich bitte, und ich werde es hinzufügen. Vielen Dank im Voraus

Antwort

4

die Funktion OnEditButton nimmt zwei Parameter, ein String boxSelected und ein Objekt Größe vom Typ Größe.

Also, wenn Sie es nennen Sie haben

OnEditButton("lname", new Size(495.0, 55.0)); 

Sie tun müssen, um eine Instanz des Typs Größe passieren

+0

Danke haha, es viel einfacher war, als ich zuerst dachte, danke für die Hilfe. Nun, das macht mich ein wenig dumm wegen der Einfachheit es - Es lässt mich die Antwort nicht als richtig für 4 Minuten so geben Sie mir ein paar Minuten – Brendon

+0

Denken Sie immer OOP das ist der Weg –

+0

Ja, nur ich dachte nicht neue Größe (); deshalb fühle ich mich dumm haha – Brendon