请问随鼠标移动的线条如何做啊

ghghg008 2009-06-07 12:57:43
我以前做过一个K线图例子,但现在忘记了。现在想要一条直线随鼠标移动,不要闪烁。
下面的代码只是我能回忆的。请高手指点一下。

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
Graphics g = this .CreateGraphics ();
Pen p = new Pen(Color.Blue, 3);
g.Clear (Color .White )
g.DrawLine(p, e.X , 0, e.X , 300);
}

protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics dc = e.Graphics;
Pen p = new Pen(Color.Blue, 3);
dc.DrawRectangle(p, 0, 0, 50, 50);
}
...全文
638 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghghg007 2009-06-13
  • 打赏
  • 举报
回复
定义个全局变量

private int Mouse_x;
private int Mouse_y;

private void Form1_MouseMove(object sender, MouseEventArgs e)
{

Mouse_x = e.X; Mouse_y = e.Y;
}
ghghg008 2009-06-07
  • 打赏
  • 举报
回复
问题又来了,这个鼠标坐标不对,请高手看看
ghghg008 2009-06-07
  • 打赏
  • 举报
回复
请高手看看,原理对不对,
bieqing 2009-06-07
  • 打赏
  • 举报
回复
貌似理解错误,不怎么会
ghghg008 2009-06-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bieqing 的回复:]
我的想法把你做的线条放的DIV里面,然后写onmousemove事件,控制DIV如" style.left=event.clientX style.top=event.clientY"
[/Quote]
NO 不好意思我的是在winform中做的。
不过我的问题解决了

public Form1()
{
InitializeComponent();
this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.AllPaintingInWmPaint, true);//加上这个ok

}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
this.Invalidate();
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
Pen p = new Pen(Color.Blue, 3);
g.DrawRectangle(p, 0, 0, 50, 50);
g.DrawLine(p, Form1.MousePosition.X, 0, Form1.MousePosition.X, 300);
}

不过还请高手,这样做好不好,要不要完善
bieqing 2009-06-07
  • 打赏
  • 举报
回复
我的想法把你做的线条放的DIV里面,然后写onmousemove事件,控制DIV如" style.left=event.clientX style.top=event.clientY"
ghghg008 2009-06-07
  • 打赏
  • 举报
回复
up
ghghg008 2009-06-07
  • 打赏
  • 举报
回复
up急人啊
ghghg008 2009-06-07
  • 打赏
  • 举报
回复
噢!
好像是下面的。但还是闪烁

private void Form1_MouseMove(object sender, MouseEventArgs e)
{

this.Invalidate();


protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
Pen p = new Pen(Color.Blue, 3);
g.DrawRectangle(p, 0, 0, 50, 50);
g.DrawLine(p, Form1.MousePosition.X, 0, Form1.MousePosition.X, 300);
}
linlusheng 2009-06-07
  • 打赏
  • 举报
回复
今天高考,交通管制,下班艰难
ghghg008 2009-06-07
  • 打赏
  • 举报
回复
为什么没人答啊。急死了
ghghg008 2009-06-07
  • 打赏
  • 举报
回复
今天人怎么这么少啊

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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