求救啊~~zedgraph鼠标移动并显示相应的X轴和Y轴值鼠标移动的时候,有一条纵轴线跟随鼠标移动,同时显示

mdjs198 2014-07-23 12:11:11
好痛苦啊 ,自己做出来的效果太坑了。。。求救啊
zedgraph 鼠标移动并显示相应的X轴和Y轴值
鼠标移动的时候,有一条纵轴线跟随鼠标移动,同时显示对应的X轴和Y轴值。
...全文
532 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_BeasonZhou 2015-07-12
  • 打赏
  • 举报
回复
随便问下,鼠标移上去不要显示十字形鼠标样式,怎么实现呢?
endfly 2014-11-22
  • 打赏
  • 举报
回复
这个就是为了画一条竖轴吗?我觉得能移动竖轴的时候把相应竖轴位置上曲线的点的值显示出来就更完美了!而不是显示鼠标位置的X,Y值。大侠有没有好的方法?
引用
cfz379945430
@cfz379945430
mdjs198 2014-07-24
  • 打赏
  • 举报
回复
引用 7 楼 cfz379945430 的回复:
[quote=引用 6 楼 mdjs198 的回复:] [quote=引用 4 楼 cfz379945430 的回复:] private void zedGraphControl1_MouseMove(object sender, MouseEventArgs e) { using(Graphics gc = zedGraphControl1.CreateGraphics()) using(Pen pen = new Pen(Color.Gray)) { pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot; RectangleF rect = zedGraphControl1.GraphPane.Chart.Rect; //确保在画图区域 if (rect.Contains(e.Location)) { zedGraphControl1.Refresh(); gc.DrawLine(pen, e.X, rect.Top, e.X, rect.Bottom); } } }
我知道解决的了 DateTime.FromOADate 就可以了 IsShowPointValues 或者 IsShowCursorValues 这2个不能一起用 有点遗憾 谢谢了啊[/quote] 解决了就好,IsShowPointValues显示的点已经包含在IsShowCursorValues 里面了,所以没必要两个一起[/quote] IsShowPointValues 有PointValueEvent来控制返回值 IsShowCursorValues 有相关的事件吗?
tiangua_1527755852 2014-07-24
  • 打赏
  • 举报
回复
跟随鼠标移动的图像 private void button1_Click(object sender, EventArgs e) { //设置文件的类型 openFileDialog1.Filter = "*.jpg,*.jpeg,*.bmp,*.gif,*.ico,*.png,*.tif,*.wmf|*.jpg;*.jpeg;*.bmp;*.gif;*.ico;*.png;*.tif;*.wmf"; openFileDialog1.ShowDialog(); //打开文件对话框 Image myImage = System.Drawing.Image.FromFile(openFileDialog1.FileName); //根据文件的路径实例化Image类 pictureBox1.Image = myImage; //显示打开的图片 pictureBox1.Height = myImage.Height; //根据图片大小设置pictureBox1控件的高度 pictureBox1.Width = myImage.Width; //根据图片大小设置pictureBox1控件的高度 }//CodeGo.net/ private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { flag = true; //标识,鼠标按下 x = e.X; //记录鼠标的X坐标 y = e.Y; //记录鼠标的Y坐标 } private void pictureBox1_MouseMove(object sender, MouseEventArgs e) { if (flag) { //设置pictureBox1控件的位置 pictureBox1.Left = pictureBox1.Left + (e.X - x); pictureBox1.Top = pictureBox1.Top + (e.Y - y); } } private void pictureBox1_MouseUp(object sender, MouseEventArgs e) { flag = false; }
ArmStronger 2014-07-23
  • 打赏
  • 举报
回复
private void zedGraphControl1_MouseMove(object sender, MouseEventArgs e)
{
using(Graphics gc = zedGraphControl1.CreateGraphics())
using(Pen pen = new Pen(Color.Gray))
{
pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot;
RectangleF rect = zedGraphControl1.GraphPane.Chart.Rect;
//确保在画图区域
if (rect.Contains(e.Location))
{
zedGraphControl1.Refresh();
gc.DrawLine(pen, e.X, rect.Top, e.X, rect.Bottom);

}
}

}
ArmStronger 2014-07-23
  • 打赏
  • 举报
回复
private void zedGraphControl1_MouseMove(object sender, MouseEventArgs e)
{
using(Graphics gc = zedGraphControl1.CreateGraphics())
using(Pen pen = new Pen(Color.Gray))
{
pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot;
RectangleF rect = zedGraphControl1.GraphPane.Chart.Rect;
//确保在画图区域
if (rect.Contains(e.Location))
{
zedGraphControl1.Refresh();
gc.DrawLine(pen, e.X, rect.Top, e.X, rect.Bottom);

}
}

}
ArmStronger 2014-07-23
  • 打赏
  • 举报
回复
显示x,y坐标值,只需要设置IsShowCursorValues=True即可。至于需要移动鼠标有纵轴线跟随,貌似没发现有这个功能,可以在MouseMove事件里自己画。
ArmStronger 2014-07-23
  • 打赏
  • 举报
回复
引用 6 楼 mdjs198 的回复:
[quote=引用 4 楼 cfz379945430 的回复:] private void zedGraphControl1_MouseMove(object sender, MouseEventArgs e) { using(Graphics gc = zedGraphControl1.CreateGraphics()) using(Pen pen = new Pen(Color.Gray)) { pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot; RectangleF rect = zedGraphControl1.GraphPane.Chart.Rect; //确保在画图区域 if (rect.Contains(e.Location)) { zedGraphControl1.Refresh(); gc.DrawLine(pen, e.X, rect.Top, e.X, rect.Bottom); } } }
我知道解决的了 DateTime.FromOADate 就可以了 IsShowPointValues 或者 IsShowCursorValues 这2个不能一起用 有点遗憾 谢谢了啊[/quote] 解决了就好,IsShowPointValues显示的点已经包含在IsShowCursorValues 里面了,所以没必要两个一起
mdjs198 2014-07-23
  • 打赏
  • 举报
回复
引用 4 楼 cfz379945430 的回复:
private void zedGraphControl1_MouseMove(object sender, MouseEventArgs e) { using(Graphics gc = zedGraphControl1.CreateGraphics()) using(Pen pen = new Pen(Color.Gray)) { pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot; RectangleF rect = zedGraphControl1.GraphPane.Chart.Rect; //确保在画图区域 if (rect.Contains(e.Location)) { zedGraphControl1.Refresh(); gc.DrawLine(pen, e.X, rect.Top, e.X, rect.Bottom); } } }
我知道解决的了 DateTime.FromOADate 就可以了 IsShowPointValues 或者 IsShowCursorValues 这2个不能一起用 有点遗憾 谢谢了啊
mdjs198 2014-07-23
  • 打赏
  • 举报
回复
引用 4 楼 cfz379945430 的回复:
private void zedGraphControl1_MouseMove(object sender, MouseEventArgs e) { using(Graphics gc = zedGraphControl1.CreateGraphics()) using(Pen pen = new Pen(Color.Gray)) { pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot; RectangleF rect = zedGraphControl1.GraphPane.Chart.Rect; //确保在画图区域 if (rect.Contains(e.Location)) { zedGraphControl1.Refresh(); gc.DrawLine(pen, e.X, rect.Top, e.X, rect.Bottom); } } }
十分感谢 竖线可以了 再请教一个问题可以吗 图标X轴 我设置的时间格式 "HH:mm:ss"; 然后 IsShowPointValues 或者 IsShowCursorValues 显示坐标值 X轴反馈的知识double 怎么可以转成时间显示?

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧