Với hình thứcLàm thế nào để có được một HWND xử lý ra khỏi một System.Windows.Forms.Form
System.Windows.Forms::Form Form1;
và cửa sổ xử lý
HWND hWnd;
Làm thế nào tôi có thể thiết lập hWnd đến tài sản của Xử lý Form1 mà thực sự tồn tại như một tài sản công cộng mà "Gets cửa sổ xử lý mà kiểm soát là ràng buộc để. (Kế thừa từ Control.)" Theo Microsoft documentation of System.Windows.Forms::Form? Trong constructor của Mẫu Form1 của tôi, tôi đã cố gắng
hWnd = this.Handle;
nhưng trình biên dịch phàn nàn:
lỗi C2228: bên trái của '.Handle' phải có kiểu lớp/struct/công đoàn là 'MyNameSpace :: Form1^const 'bạn có định sử dụng' -> 'thay thế không?
Vì vậy, tôi cố gắng
hWnd = this->Handle;
và chỉ
hWnd = Handle; // Since I'm in the Form
và sau đó trình biên dịch nói:
lỗi C2440: '=': không thể chuyển đổi từ 'Hệ thống :: IntPtr' để 'HWND' Không có toán tử chuyển đổi do người dùng xác định có thể thực hiện chuyển đổi này hoặc toán tử không thể được gọi là
Theo như tôi có thể thấy đó là cách chính xác để thực hiện việc này. – Justin