cuốn sách gpt4 ai đã làm

Vẽ đường khi nhấp vào ZedGraph Pane

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 20:22:55 28 4
mua khóa gpt4 Nike

Tôi có một số yêu cầu khác nhau đối với ZedGraph.

Tôi muốn tạo một đường cong trên ZedGraph Pane khi người dùng nhấp vào ZedGraph Pane. Ngoài ra, tôi còn vẽ các biểu đồ khác trên Pane này. Nhưng tôi muốn rằng bất cứ khi nào người dùng nhấp chuột vào vùng zedGraph, chúng ta sẽ nhận được tọa độ nhấp chuột của người dùng và sau đó tôi vẽ một đường thẳng trên tọa độ đã nhấp chuột.

Tôi đã sử dụng sự kiện MouseCLick cùng với phương thức FindNearestObject như sau:

void void zedGraph_RenderedTrack_MouseClick(người gửi đối tượng, EventArgs e)
{
MouseEventArgs xx = (MouseEventArgs)e;
đối tượng gần nhấtObject;
chỉ số int;
this.zedGraph_RenderedTrack.GraphPane.FindNearestObject(new PointF(xx.X, xx.Y), this.CreateGraphics(), out NearestObject, out chỉ mục);
if (nearestObject != null)
{
DrawALine(xx.X, Color.Red, true);
}
}

Nhưng bằng cách sử dụng điều này, ZedGraph tìm kiếm một số đường cong và tìm điểm gần nhất rồi vẽ đường thẳng, nhưng tôi muốn đường thẳng được vẽ ở nơi người dùng nhấp vào. Có cách nào để làm điều này?

câu trả lời hay nhất

Bạn có thể thử đoạn mã sau để vẽ một đường thẳng đứng cho sự kiện nhấp chuột.

Mẫu công khai1()
{
InitializeComponent();
}

PointPairList userClickrList = new PointPairList();
LineItem userClickCurve = new LineItem("userClickCurve");

void void zedGraphControl1_MouseClick(người gửi đối tượng, MouseEventArgs e)
{
//Tạo một thể hiện của Graph Pane
GraphPane myPane = zedGraphControl1.GraphPane;

// biến x & y để lưu trữ giá trị trục
xVal gấp đôi;
yVal gấp đôi;

// Xóa các giá trị trước đó nếu có
userClickrList.Clear();

myPane.Legend.IsVisible = false;

// Sử dụng vị trí chuột hiện tại để lấy kết quả tương ứng
// X & Y Phối hợp
myPane.ReverseTransform(e.Location, out xVal, out yVal);

// Tạo danh sách sử dụng các giá trị x & y ở trên
userClickrList.Add(xVal, myPane.YAxis.Scale.Max);
userClickrList.Add(xVal, myPane.YAxis.Scale.Min);

//Thêm một đường cong
userClickCurve = myPane.AddCurve(" ", userClickrList, Color.Red, SymbolType.None);

zedGraphControl1.Refresh();
}

nhập mô tả hình ảnh ở đây

Bạn chỉ có thể thay đổi userClickList để vẽ đường ngang.

Chúc bạn viết mã vui vẻ... :)

Về C# - Nhấp vào Draw Line trên ZedGraph Pane, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/12422398/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress