Çalışma zamanı bilgilerinin dinamik olarak oluşturduğu çok sayıda formunu içeren bir programı yeniden yapılandırıyorum.Visual Studio form tasarımcısı kaynak kodunun çalışma zamanı oluşturulması
Sistemin karmaşıklık düzeyini azaltmak için, bu formların her biri için ayrı kod dosyaları yazmayı düşündüm. Formlar çok olduğu için, çalışma zamanında toplanan verilerden form kaynak kodu dosyalarının oluşturulma sürecini otomatikleştirmenin bir yolunu düşünüyorum.
E.g. EditPeople adlı bir formun bir çalışma zamanı örneğim varsa, EditPeople.designer.cs kaynak kodunu oluşturmak istiyorum, böylece formları Windows form tasarımcısı olarak düzenleyebilirim.
Bu görevi basitleştirebilecek bir çerçeve veya araç olup olmadığını biliyor musunuz? Eğer tüm bir listesi var olduğunda
List<Control> ReturnedCtrls = GetAllControls(MyForm.Controls);
: Böyle bu işlevi kullanabilirsiniz
public static List<Control> GetAllControls(IList ctrls)
{
List<Control> FormCtrls = new List<Control>();
foreach (Control ctl in ctrls)
{
FormCtrls .Add(ctl);
List<Control> SubCtrls = GetAllControls(ctl.Controls);
FormCtrls .AddRange(SubCtrls);
}
return FormCtrls;
}
:
Bağlantı: http://www.oreillynet.com/windows/blog/2004/10/serializing_controls_to_an_ext.html –
Teşekkür ederiz. Kaynak dosyaları yazmak için CodeDom nesnelerini kullanmaya çalışacağım. –
Bunu çözmede herhangi bir şans var mı? CodeDom olası bir çözüm gibi geliyor, aramak için başka bir şey "tasarım-zaman serileştirme" –