2010-07-12 55 views
4

我能够使用的WinForms控制,而不是整个表单:如何使WinForms表单在AvalonDock中作为DockableContent工作?

 var foo = new DockableContent(); 
     foo.Title = "Foo"; 
     foo.Name = "FooName"; 


     var c = new WindowsAppFramework.RenderTargetUserControl(); 
     c.Dock = System.Windows.Forms.DockStyle.Fill; 
     c.AutomaticUpdateFPS = 60; 

     var host = new System.Windows.Forms.Integration.WindowsFormsHost(); 
     host.Child = c; 

     foo.Content = host; 
     foo.ShowAsDocument(dockManager); 
     foo.Focus(); 

是否有可能使用整个表格?我想在应用程序中使用现有的表单。

回答

7

你可以把一个形式转化为子控件:

var frm = new Form1(); 
    frm.TopLevel = false; 
    frm.Visible = true; 
    frm.FormBorderStyle = FormBorderStyle.None; 

基本上把它变成一个用户控件。

+0

谢谢 - 作品魅力 – 2010-07-16 04:44:11

+0

现在,这是一个方便的提示 – Boinst 2012-04-12 02:55:36