Как сделать так, чтобы форма WinForms работала как DockableContent в AvalonDock? - PullRequest
4 голосов
/ 12 июля 2010

Я могу использовать элементы управления WinForms, но не всю форму:

        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();

Можно ли использовать всю форму?Я хочу использовать существующие формы в приложении.

1 Ответ

7 голосов
/ 12 июля 2010

Вы можете превратить форму в дочерний элемент управления:

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

Что по сути превращает ее в UserControl.

...