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