2012-04-11 9 views
1

Ich versuche, ein To-Do-Programm mit Windows Forms mit C# zu erstellen (ich verwende Visual Studio 2010, wenn das relevant ist), wo der Benutzer ein hinzufügen kann neue Aufgabe und legen Sie den Titel und seine Beschreibung, sowie das Löschen und Bearbeiten der Aufgaben.Verwenden einer Methode aus einer anderen Klasse im Hauptformular

Ich habe es funktioniert, indem Sie alles in eine Form-Klasse setzen und indem Sie in den gleichen löschen und bearbeiten Code für jede Aufgabe löschen und bearbeiten (ich habe es so eingestellt, bis zu 5 Aufgaben hinzugefügt werden können), aber es ist sehr chaotisch und ich möchte den ganzen Code setzen, um den Titel der Aufgabe, die Beschreibung zusammen mit dem Bearbeiten und Löschen in einer separaten Klasse zu setzen und einfach jede Methode dort aufzurufen, wo sie benötigt wird.

Ich habe die letzten zwei Wochen damit verbracht, im ganzen Internet zu suchen, um etwas zu finden, was helfen wird, aber ich bin neu im Codieren und viele Sachen, die ich finde, sind nicht relativ oder ich tue es einfach nicht verstehen. Ich habe form f1 = new form1(); verwendet und f1.AddTask(); verwendet und ich bekomme keine Fehler, aber wenn ich das Programm starte und auf die Tasten klicke, passiert nichts.

Ich bin neu auf dieser Website und nicht zu sicher, was benötigt wird, aber ich bin bereit, alles zu tun, um dies zur Arbeit zu bringen. Jede Hilfe würde immens geschätzt werden.

+4

Absätze und Code bitte. –

+1

Die einfache Frage wäre, haben Sie die Tasten programmiert? – gbianchi

Antwort

0

siehe die following link Ähnlich mit Proben zum Aufruf von Methoden von einem zum anderen und/oder Einstellung von Werten zu. Diese basierten auf WinForms. Wenn Sie WPF verwenden und Windows anstelle von Formularen ausführen, ändern Sie einfach den Kontext des jeweiligen Formulars oder Fensters.

0

Versuchen Sie, eine zusätzliche Klasse zu erstellen, in die Sie den Code einfügen, der sich selbst wiederholt.

public class CommonMethods() { 

    public static void AddTask(Control c, Task t) { /* code to add a task */ } 
    public static void EditTask(Control c, Task t) { /* code to edit a task */ } 
    public static void DeleteTask(Control c, Task t) { /* code to delete a task */ } 

/* 
etc... other methods here 
*/ 
} 

und dann diese Methoden in Ihrem Formular aufrufen und nur an die Methode übergeben die Kontrollen, wo u müssen bearbeiten/hinzufügen/entfernen Aufgaben.

+0

Ich werde es versuchen, danke. – Raker

+0

Ich habe versucht, was Sie vorgeschlagen haben, und es gibt mir den Fehler "Fehler 1 \t Der Typ oder Namespacename 'Control' konnte nicht gefunden werden (fehlen Sie eine Verwendungs-Anweisung oder eine Assembly-Referenz?" Und das gleiche für "Task" , und sie werden nicht blau wie bei deins. Was stellt "Control" und "Task" dar? – Raker

+0

Fügen Sie die fehlende Referenz hinzu. Der Code, den ich Ihnen gegeben habe, soll Ihnen nur eine Richtung anzeigen, nicht den richtigen Code dafür Ich kann Ihnen keinen funktionierenden Code geben, solange ich nicht über Ihren vollständigen Code verfüge. Der Punkt ist die Verwendung einer externen Klasse, wo alle diese Operationen behandelt werden und die Klassenmethoden aus beiden Formen aufgerufen werden. .. versuche etwas nachzudenken und du wirst das Problem lösen –

Verwandte Themen