2009-07-29 8 views
6

Ich bin relativ neu in VS und C#, aber habe jahrelange Erfahrung in Delphi. Eine meiner Lieblingskomponenten beim Entwickeln von GUI in Delphi ist ActionManager - eine zentrale Möglichkeit, Ereignishandlern Aktionen zuzuweisen und sie zu aktivieren/deaktivieren. Überraschenderweise kann ich in Visual Studio 2008 Professional nichts dergleichen finden. Ich bin sicher, dass es Implementierungen von Drittanbietern geben sollte, aber ich würde etwas Standard bevorzugen.Gibt es Delphi ActionManager Alternative in Visual Studio

Kann jemand mir etwas dafür vorschlagen? Vielleicht gibt es eine alternative Möglichkeit, GUI-Aktionen effektiv zu verwalten, die ich vermisse?

+0

Meinst du nicht TActionList? Ist TActionManager nicht mehr für ausgefallene Menüs und Symbolleisten? –

+1

Mögliches Duplikat: http://stackoverflow.com/questions/489376/is-there-net-equivalent-to-delphis-actionlist –

Antwort

3

In WPF gibt es Commands, die konzeptionell ähnlich sind.

+0

Vielen Dank, das scheint sehr nah, aber leider nicht für WinForms verfügbar. Ich bin mir nicht sicher, ob es Zeit ist, zu WPF zu wechseln, aber es scheint, dass MS WinForms als veraltete Technologie positioniert. Nicht sehr gut für sie. – koldovsky

1

Ich liebte auch ActionManager. Ich wusste es zu diesem Zeitpunkt noch nicht, aber es ist nur eine raffinierte Implementierung des Model-View-Controllers. Im Nachhinein war Delphi für eine unvorbereitete Entwickler-Community zu weit fortgeschritten. 8-)

Zurück zu Ihrer Frage, C# hat das Konzept von Ereignissen und Delegaten, die mit Aktionen und deren Handlern vergleichbar sind. Sie verknüpfen Steuerungsereignisse (oder GUI-Aktionen) mit Delegaten. Zum Beispiel

mybutton.Click += HandleMyButtonClick; 

Click würde ein Delegierter mit der Unterschrift void (object sender, EventArgs e) sein. Auf diese Signatur würde die Methode HandleMyButtonClick folgen.

In der Klassendokumentation der Steuerelemente wird ein Abschnitt mit allen Ereignissen angezeigt, die ausgelöst werden. Diese Ereignisse beschreiben auch die Unterschrift der Delegierten, die für ihre Bearbeitung erforderlich sind.

+0

Darf ich fragen, warum die negative Punktzahl? –

+2

Ich habe nicht downvote, aber Aktionen tun mehr als nur eine Methode aufrufen. Sie stellen auch einen zentralen Ort zur Verfügung, um eine Bildunterschrift, ein Bild und eine Möglichkeit zum "Aktualisieren" der Aktion, wie das Deaktivieren, bereitzustellen. –

+0

Daher meine Verwendung von "fancy Implementierung von MVC" 8-) Der ursprüngliche Beitrag war unklar, wie nah an ActionManager er eine Alternative sein wollte. Ich nahm an, dass er nichts über Delegierte und Ereignisse wusste und dass er mit diesem Wissen seinen eigenen ActionManager bauen konnte. Danke für die Begründung trotzdem. –

Verwandte Themen