Joe*_*Joe 4 c# user-controls winforms
我有一个我正在使用的第三方代码库; 此库的一部分是一个winforms应用程序,用于编辑此库使用的配置文件.我想将他们的配置编辑器应用程序嵌入到我的应用程序中.
我有他们的库的源代码和配置编辑器(据我所知)使用标准控件的直接Winforms应用程序.我正在尝试将应用程序的主窗体转换为UserControl,以便我可以在我的应用程序中托管它,这是WPF(WPF的WindowsFormsHost不会托管Form对象,我得到一个例外).
我将表单对象更改为继承UserControl而不是Form并修复了所有编译器错误(没有很多,只是在UserControls上不存在的属性初始化)但是发生的事情是我新转换的控件只是空白.
当我运行我的测试应用程序时,我没有看到构成原始表单的任何控件,只是一个空白页面.
有任何想法吗?我真的不想从头开始重新实现他们的应用程序,这会很糟糕.
编辑:我忘了提到我在WinForms应用程序中测试它,而不是WPF,只是在尝试从WPF使用它之前让控件正常工作.
显然,InitializeComponent()方法不再正常运行.当然不确定为什么.
也许更好的方法是在控件中转换表单:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
var f2 = new Form2();
f2.TopLevel = false;
f2.Location = new Point(5, 5);
f2.FormBorderStyle = FormBorderStyle.None;
f2.Visible = true;
this.Controls.Add(f2);
}
}
Run Code Online (Sandbox Code Playgroud)