2009-07-29 10 views
6

Jestem stosunkowo nowa w VS i C#, ale mam wieloletnie doświadczenie w Delphi. Jednym z moich ulubionych komponentów podczas projektowania GUI w Delphi jest ActionManager - scentralizowany sposób przypisywania procedur obsługi zdarzeń do czynności, a także włączania/wyłączania ich. Co zaskakujące, nie mogę znaleźć czegoś takiego w Visual Studio 2008 Professional. Jestem pewien, że powinny istnieć implementacje stron trzecich, ale wolę coś standardowego.Czy istnieje alternatywa ActionManager Delphi w Visual Studio

Czy ktoś może mi coś zasugerować? Może jest jakiś alternatywny sposób efektywnego zarządzania działaniami GUI, których mi brakuje?

+0

Nie masz na myśli TActionList? Czy nie jest już więcej TActionManager dla wyszukanych menu i pasków narzędzi? –

+1

Możliwe duplikaty: http://stackoverflow.com/questions/489376/is-there-net-equivalent-to-delphis-actionlist –

Odpowiedz

3

W WPF są Commands, które są koncepcyjnie podobne.

+0

Dziękuję, wydaje się bardzo blisko, ale niestety nie jest dostępna dla WinForm. Nie jestem pewien, czy nadszedł czas, aby przejść do WPF, ale wydaje się, że MS pozycji WinForms jako przestarzałej technologii. Niezbyt dobre dla nich. – koldovsky

1

Uwielbiam także ActionManager. Nie wiedziałem o tym w tym czasie, ale wszystko to jest fantazyjną implementacją kontrolera Model-View. Z perspektywy czasu Delphi było zbyt zaawansowane dla nieprzygotowanej społeczności programistów 8-)

Wracając do pytania, C# ma koncepcję wydarzeń i delegatów, które są odpowiednikiem działań i ich obsługi. Ty przypisujesz zdarzenia kontrolne (lub akcje GUI) delegatom. Na przykład,

mybutton.Click += HandleMyButtonClick; 

Click będzie delegatem z podpisem void (object sender, EventArgs e). Podpis ten będzie następował po metodzie HandleMyButtonClick, podobnej do tej.

void HandleMyButtonClick(object sender, EventArgs e) 

Pod klasą dokumentacji kontrolnej zostanie wyświetlona sekcja z listą wszystkich zgłoszonych zdarzeń. Zdarzenia te będą również opisywać podpis delegatów wymaganych do ich obsługi.

+0

Czy mogę zapytać, dlaczego wynik negatywny? –

+2

Nie spadłem, ale akcje robią więcej niż po prostu wywołanie metody. Stanowią one także centralne miejsce do umieszczenia napisu, obrazu i sposobu "Aktualizacji" akcji, jak jej wyłączenie. –

+0

Stąd moje zastosowanie "fantazyjnej implementacji MVC" 8-) Oryginalny post nie był jasny o tym, jak blisko ActionManager chciał być alternatywą. Sądziłem, że nie wie o delegatach i wydarzeniach i że dzięki tej wiedzy może zbudować swój własny menedżer akcji. Dzięki za uzasadnienie w każdym razie. –

Powiązane problemy