CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 291

291

Chương 8: Đồ họa, đa phương tiện, và in ấn

Hình 8.1 Danh sách các font đã được cài đặt

2.

2.

Th c hi n “hit testing” v i shape

ự ệ

Th c hi n “hit testing” v i shape

ự ệ

Bạn cần nhận biết người dùng có nhắp vào trong một shape hay không.

Kiểm tra điểm mà người dùng đã nhắp vào bằng các phương thức như

Rectangle.Contains

Region.IsVisible

(thuộc không gian tên

System.Drawing

),

hoặc

GraphicsPath.IsVisible

(thuộc không gian tên

System.Drawing.Drawing2D

),

tùy vào kiểu của shape.

Thông thường, nếu sử dụng GDI+ để vẽ shape trên form, có thể bạn sẽ cần xác định xem khi
nào người dùng nhắp vào trong một shape cho trước. .NET Framework cung cấp ba phương
thức có thể thực hiện công việc này:

Phương thức

Rectangle.Contains

—nhận vào một điểm và trả về

true

nếu điểm này

nằm bên trong hình chữ nhật cho trước. Trong nhiều trường hợp, bạn có thể lấy được
hình chữ nhật đối với một kiểu shape khác. Ví dụ, bạn có thể sử dụng

Image.GetBounds

để lấy hình chữ nhật mô tả đường biên của shape. Cấu trúc

Rectangle

là thành viên của

không gian tên

System.Drawing

.

Phương thức

GraphicsPath.IsVisible

—nhận vào một điểm và trả về

true

nếu điểm

này nằm bên trong một vùng được định nghĩa bởi

GraphicsPath

khép kín. Vì một

GraphicsPath

có thể chứa nhiều line, shape, và figure nên cách này rất hữu ích nếu bạn

muốn kiểm tra một điểm có nằm bên trong một vùng không phải hình chữ nhật hay
không. Lớp

GraphicsPath

là một thành viên của không gian tên

System.Drawing.Drawing2D

.

Phương thức

Region.IsVisible

—nhận vào một điểm và trả về

true

nếu điểm này nằm

bên trong một vùng được định nghĩa bởi

Region

. Cũng giống như

GraphicsPath

,

Region

có thể mô tả một shape không phải hình chữ nhật.

Region

là một thành viên của không

gian tên

System.Drawing

.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.