2009-07-29 10 views
6

VS ve C# için nispeten yeniyim ama Delphi'de uzun yıllara dayanan deneyime sahibim. Delphi'de Delphi tasarlarken en sevdiğim bileşenlerden biri de ActionManager'tır - eylem işleyicilerini eylemlerin yanı sıra etkinleştirmek/devre dışı bırakmak için merkezi bir yoldur. Şaşırtıcı bir şekilde, Visual Studio 2008 Professional'da böyle bir şey bulamıyorum. Üçüncü parti uygulamaları olması gerektiğinden eminim, ancak standart bir şey tercih ederim.Visual Studio'da Delphi'nin ActionManager alternatifi var

Bunun için bana bir şey önerebilecek biri var mı? Belki de eksik olduğum GUI eylemlerini etkili bir şekilde yönetmek için alternatif bir yol var mı?

+0

Bunu mu demek istediniz: TActionList? TActionManager, fantezi menüler ve araç çubukları için daha fazla değil mi? –

+1

Olası kopya: http://stackoverflow.com/questions/489376/is-there-net-equivalent-to-delphis-actionlist –

cevap

3

WPF'de kavramsal olarak benzer olan Commands vardır.

+0

Teşekkür ederim, bu çok yakın görünüyor ama maalesef WinForms için mevcut değil. WPF'ye geçmenin zamanı olup olmadığından emin değilim, fakat MS'in WinForms'u eski teknoloji olarak konumlandırdığı görülüyor. Onlar için pek iyi değil. – koldovsky

1

Ben de ActionManager'ı sevdim. O zamanlar bunu bilmiyordum, ama hepsi bu Model-Görünüm-Kontrolörün bir fantezi uygulamasıdır. Geçmişte, Delphi hazırlıksız bir geliştirici topluluğu için çok ilerlemişti. 8-)

Sorunuza geri dönersek, C#, eylemlere ve onların işleyicilerine eşdeğer etkinlik ve delegeler kavramına sahiptir. Denetim olaylarını (veya GUI eylemlerini) temsilcilere bağlarsınız. Örneğin,

mybutton.Click += HandleMyButtonClick; 

Click imza void (object sender, EventArgs e) bir temsilci olacaktır. Bu imza, bunun gibi HandleMyButtonClick yöntemini izler.

void HandleMyButtonClick(object sender, EventArgs e) 

Denetimlerin sınıf belgelerinin altında, yükseltilen tüm olayları listeleyen bir bölüm olacaktır. Bu olaylar ayrıca, bunları işlemek için gereken delegelerin imzasını da açıklayacaktır.

+0

Neden olumsuz skoru sorabilir miyim? –

+2

Reddetmedim, ancak eylemler yalnızca bir yöntemi çağırıyor. Ayrıca bir Altyazı, bir Görüntü ve eylemi “devre dışı bırakma” eylemini sağlamak için merkezi bir yer sağlarlar. –

+0

Bu nedenle "MVC'nin fantezi uygulaması" kullanımım 8-) Orijinal yazı, ActionManager'a bir alternatiften ne kadar istediği konusunda belirsizdi. Delegeleri ve olayları bilmediğini ve bu bilgiyle kendi ActionManager'ını kurabileceğini düşündüm. Yine de gerekçelendirdiğiniz için teşekkür ederiz. –