Tôi cần vẽ ra form trong C#, nhưng khi di chuyển form, các khối vẽ bị mất đi và phải vẽ lại. Xin hướng dẫn cách tạo form có tính năng Redraw giống VB?

Tôi cần vẽ ra form trong C#, nhưng khi di chuyển form, các khối vẽ bị mất đi và phải vẽ lại. Xin hướng dẫn cách tạo form có tính năng Redraw (giống VB)?
nguyen tuan quynh
nguyen tuan quynh
Trả lời 15 năm trước
Các phương thức (method) của Form trong VB 6.0 hoạt động dựa trên các hàm API Windows thuộc thư viện GDI, còn các phương thức của Form trong VB .Net hoạt động dựa trên các hàm API thuộc thư viện nới rộng GDI+. Các hàm của 2 thư viện này không tương thích nhau (mặc dù GDI+ là sự nới rộng của GDI), do đó bạn cần phải hiệu chỉnh thủ công đoạn code VB 6.0 xử lý đồ họa thành đoạn code mới bằng VB .Net có chức năng tương đương. Thí dụ Form VB 6.0 có thuộc tính AutoReDraw để cho phép vẽ lại tự động nội dung Form mỗi lần nó bị di chuyển hay thay đổi kích thước, nhưng Form VB .Net lại không có thuộc tính này. Nếu muốn vẽ lại tự động nội dung trong Form, bạn phải viết đoạn code vẽ đồ họa trong thủ tục Paint của Form VB .Net, thủ tục này sẽ được kích hoạt tự động mỗi khi Form bị thay đổi vị trí hay kích thước.