给出表格
System.Windows.Forms::Form Form1;
和窗口句柄
HWND hWnd;
如何将hWnd设置为Form1的Handle属性,该属性确实作为公共属性存在“获取控件绑定的窗口句柄。(从Control继承。)”根据Microsoft documentation of System.Windows.Forms::Form ?在Form Form1的构造函数中,我试过了
hWnd = this.Handle;
但是编译器抱怨:
错误C2228:'。Handle'的左边必须有class / struct / union类型是'MyNamespace :: Form1 ^ const'你打算使用' - >'吗?代替?
所以我试试
hWnd = this->Handle;
只是
hWnd = Handle; // Since I'm in the Form
然后编译器说:
错误C2440:'=':无法从'System :: IntPtr'转换为'HWND'没有可用于执行此转换的用户定义转换运算符,或者无法调用运算符
答案 0 :(得分:21)
我找到了一个解决方案,并不在乎它是不是一个kludge。
hWnd = static_cast<HWND>(Handle.ToPointer());
作品。