Başka bir forma yerleştirmek istediğim bir .NET 3.5 pencere formum var. Bu formu bir kontrol haline getirmenin hızlı bir yolu var mı?.NET: Windows bir pencereye nasıl kontrol edilir
Teşekkür
Başka bir forma yerleştirmek istediğim bir .NET 3.5 pencere formum var. Bu formu bir kontrol haline getirmenin hızlı bir yolu var mı?.NET: Windows bir pencereye nasıl kontrol edilir
Teşekkür
değiştirme formu sonra hata derleme düzeltmek yerine Formunun UserControl miras.
Orada bir denetimde form gömmenin bir yolu da var: İşte VB kod:
Public Shared Sub ShowFormInControl(ByRef ctl As Control, ByRef frm As Form)
If ctl IsNot Nothing AndAlso frm IsNot Nothing Then
frm.TopLevel = False
frm.FormBorderStyle = FormBorderStyle.None
frm.Dock = DockStyle.Fill
frm.Visible = True
ctl.Controls.Add(frm)
End If
End Sub
ben SO başka görevinden Bu kodu kazanılmış düşünüyorum, ama bu yüzden, nerede hatırlayamıyorum Bu kod snippet'iniz varsa üzgünüm!
Bunu şimdi yapmanız gerektiğini söylemiyorsunuz ama gelecekte MEF'a bakabilirsiniz. Onun (örneğin, diğer şeylerin yanı sıra) seslendirdiği kompozit uygulamalar için bir çerçeve, elde etmeye çalıştığınız şey olabilir.
@Neil Barnwell'in çözümünü ek olarak kullandım. el .vbprog dosyasını düzenlenebilir ve formun "alt türünü" den "UserControl" değişti: Bu yerine bir formda değil, bir kullanıcı denetimi olarak göstermek için proje explorer simgesini verir
<SubType>UserControl</SubType>
.
Sadece bu sorunun kendisiyle aynı sorunu çözerken buldum. Awesome ne kadar kolay. –
Bunu VB.NET'te nasıl yaparım? Form, açıkça "Inherits" olmaksızın "Public Class TimeSheetGrid" olarak bildirilir. – ProfK
Visual Studio 2012'de (en azından) ya da denediğim nispeten basit biçimlerle denedim, bu sadece kullanılabilir kodu kullanır ancak VS tasarımcısında denetimi açamazsınız. Hata yok, ancak tasarımcıyı açtığınızda, sadece, tüm iletişim öğelerinin listesini, dosya iletişim öğeleri/etc için nasıl yaptığına benzer şekilde gösterir. ama kontrol düzeni görmüyorsun. Bunu nasıl düzelteceğini bilen varsa söyleyin! –