gpt4 book ai didi

c# - 将窗体转换为用户控件

转载 作者:太空狗 更新时间:2023-10-30 00:46:52 27 4
gpt4 key购买 nike

我有一个正在使用的第 3 方代码库;该库的一部分是一个 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);
}
}

关于c# - 将窗体转换为用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2196510/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com