Download the projectLàm thế nào để Thực hiện một công cụ Selection Tool Trong C#
tôi đang cố gắng để tạo ra một bảng với một màu nền mà sẽ có thể được rút ra trong thời gian chạy khi người dùng giữ nút chuột trái và di chuyển nó xung quanh. Tất cả các công trình tìm thấy khi người dùng bắt đầu từ trên cùng bên trái và đi xuống dưới cùng bên phải giống như hình ảnh hiển thị:
Nhưng tôi muốn người dùng có thể tạo bảng điều khiển từ dưới lên trên cùng bên trái. Cũng giống như khi bạn chọn một cái gì đó trên máy tính của bạn với con chuột của bạn
Đây là mã của tôi bây giờ:
public void parent_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
Point tempLoc = e.Location;
this.Location = new Point
(
Math.Min(this.Location.X, tempLoc.X),
Math.Min(this.Location.Y, tempLoc.Y)
);
this.Size = new Size
(
Math.Abs(this.Location.X - tempLoc.X),
Math.Abs(this.Location.Y - tempLoc.Y)
);
this.Invalidate();
}
}
Tôi nghĩ rằng đây là nơi tôi đi sai, và tôi chỉ đơn giản là không thể tìm đúng thuật toán cho nó:
this.Size = new Size
(
Math.Abs(this.Location.X - tempLoc.X),
Math.Abs(this.Location.Y - tempLoc.Y)
);
Nhưng nếu tôi sử dụng hình chữ nhật thì nó hoạt động tốt, nhưng tôi cũng muốn bảng điều khiển của tôi có thể làm điều đó.
Ngay lập tức nhấn câu hỏi : bạn đang cố gắng thực hiện một chương trình vẽ? – Ryan
không. chỉ cần cố gắng để thực hiện một điều khiển lựa chọn :) – chrs
Việc lựa chọn sẽ được phía sau hoặc phía trên các điều khiển khác? – Ryan