【发布时间】:2011-03-18 20:26:47
【问题描述】:
我想创建从现有 winform 控件派生的自定义 windows 窗体控件。例如TextBoxEx 将派生自 System.Windows.Forms.TextBox。这些新的自定义控件将改变外观并为现有控件添加一些额外的功能。这将通过进行适当的 win32 API 调用来完成。
我想确保开发的自定义控件适用于 32 位和 64 位平台。我想根据您的经验(如果有的话)了解实现它的最佳方法。
【问题讨论】:
我想创建从现有 winform 控件派生的自定义 windows 窗体控件。例如TextBoxEx 将派生自 System.Windows.Forms.TextBox。这些新的自定义控件将改变外观并为现有控件添加一些额外的功能。这将通过进行适当的 win32 API 调用来完成。
我想确保开发的自定义控件适用于 32 位和 64 位平台。我想根据您的经验(如果有的话)了解实现它的最佳方法。
【问题讨论】:
您不必做任何特别的事情。无论您使用的是 32 位还是 64 位,底层 Windows API 都是相同的。
保存指针大小的数据类型,例如窗口句柄,浮动在 32 和 64 位之间,具体取决于目标平台。因此,对于 P/Invoke,它们被声明为 IntPtr。只要你做对了,你的代码就可以在两个平台上运行。
【讨论】: