我目前正在设计将现有的 .NET/C#/WinForms 项目迁移到平台中立的解决方案,我见过的最有吸引力的替代方案似乎是 wxWidgets,特别是考虑到我对 C++ 和 MFC 的熟悉程度,这似乎与它有很多共同点。
查看文档和示例代码后,我需要澄清以下问题:
在 wx 环境中开发用户控件(通过 C# 术语)的方法是从 wxPanel 派生一个类,对其进行自定义并将其放入 wxFrame 中,这是一个有效的假设吗? 如果是这种情况,用于向其中添加 wxPanel 对象的 wxFrame 方法是什么?
我能找到的唯一相关方法是 wxWindow::AddChild,但文档指出它主要是 wxWidgets 内部的,不应该由用户代码调用。
为避免混淆,请注意我的问题是关于用户控件而不是自定义控件(文档中已明确说明)
最佳答案
我认为您必须在 wxPanel
派生类的构造函数中设置父窗口,并将其传递给继承的构造函数(参见 wxPanel constructor )
不过,更好的解决方案是使用 sizer(请参阅 wx Sizers )进行布局。
是的,在我看来,您说的 wxPanel
(大致)相当于 C# UserControl
是对的。
关于wxwidgets - 相当于 C# 用户控件的 wxWidgets 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3477993/