2008-09-09 21 views
6

Yansıma yoluyla bir masaüstü uygulamasını başka bir uygulamanın içinde Denetim olarak yüklemek istiyorum..Net formunu kontrol olarak yükleyebilir misiniz?

Ben yansıtan olduğum uygulama eski biridir - ben buna değişiklik yapamaz.

Dinamik Form erişebilir, ancak bir Kontrolü olarak yükleyemez.

.Net Form, Denetim'i genişletir ve yansıyan formu bir Denetim olarak atayabilir, ancak bir çalışma zamanı özel durumu atar.

Formlar, denetimler olarak yüklenemez.

Formu bir denetime dönüştürmenin herhangi bir yolu var mı?

cevap

10

Evet, bu iyi çalışıyor. Şu anda bir .NET uygulamasında çalışıyorum, bu da formları ana bilgisayardaki bir panele yükler.

ilgili pasajı:

// setup the new form 
form.TopLevel = false; 
form.FormBorderStyle = FormBorderStyle.None; 
form.Dock = DockStyle.Fill; 
form.Show (); 

// add to the panel's list of child controls 
panelFormHost.Controls.Add (form); 
+0

Test edilmiş ve bu çalışmalar. – Keith

1

Sen ebeveyn formunun kontrolleri koleksiyonuna formu eklemek gerekir ...

Buraya bakın: Başarısız olursa http://vbcity.com/forums/topic.asp?tid=30539

, bir kap oluşturmak için adaptör desen kullanmayı deneyin İçindeki eski formunuzla, daha sonra bir MDI'ya yükleyebilirsiniz.

1

Alacağınız istisna nedir? Kontrolün kendisinin istisna (çerçeve ile) vermesi mümkün mü? Belki de orijinal uygulamalarda çağrılmayan ana işlevde bir şey çağrılabilir mi?

+0

:-) teşekkürler ben toplevel mülkiyetle ilgili bir hata, bir kumanda üzerindeki set olamazdı şey alıyorum, ancak bir form üzerinde olabilir edildi. – Keith

İlgili konular