c#画图问题 怎么实现单击鼠标,拖动,画线的动作我用newGra.FillEllipse(new SolidBrush(Color.Black), e.X ,e.Y,5,5);鼠标移快一点就变成虚线了可以的话,给出代码实例象遨游点击鼠标右键可以在界面上瞎画一样。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 化直线,貌似是用g.drawline吧,要是只是画直线,应该在mouse_move事件中进行处理吧,如果要动态的画圆或矩形,那就比较麻烦些,网上有例子的,你百度一下. 用drawline,那第一个坐标点和第二个作标点怎么定义? 设个变量记录历史点的坐标。然后每次画,都把新点和历史点连接起来。注:第一次画,画点,第N次(N>1)画,画线。 这个画图,你不应该单纯的打点, 正确的算法是记录前一点的位置,在mouse_move事件中调用drawLine(prePoint, curPoint) 最后的代码,我放出来给有问题的人参考一下static int i=0; private void Form1_MouseMove(object sender, MouseEventArgs e) { if(newbool==true) { myGraphics=this.CreateGraphics(); myPen=new Pen(Color.Pink,2); if(i==0) { newpo[0].X=e.X; newpo[0].Y=e.Y; myGraphics.DrawEllipse(myPen,newpo[0].X,newpo[0].Y,2,2); i++; } else if(i>0&&i<500) { newpo[i].X=e.X; newpo[i].Y=e.Y; myGraphics.DrawLine(myPen,newpo[i-1],newpo[i]); i++; } else if(i==500) { i=0; newpo[0].X=e.X; newpo[0].Y=e.Y; myGraphics.DrawLine(myPen,newpo[499],newpo[0]); i++; } } } 如何读取PPT里面的文字内容(不是纯文本PPT) 未将对象引用设置到对象的实例 请教: winform 中如何打开另外一个电脑上 U盘 上的TXT文件? 求一算法 急急!!盼求指教 [急]嵌入到IE中的winForm为什么不能浏览 关于加密狗,safenet socket Connect连问题 怎么样才能快速的确认连接是否成功 一个获得Class的问题 一个问题在DataGrid中增加一行会触发什么事件? 想用TreeView实现sqlserver2000数据库管理窗体左边的样式 click once发布到其他机器上报错。如果才能发布到其他机器上
化直线,貌似是用g.drawline吧,要是只是画直线,应该在mouse_move事件中进行处理吧,如果要动态的画圆或矩形,那就比较麻烦些,网上有例子的,你百度一下.
然后每次画,都把新点和历史点连接起来。
注:第一次画,画点,第N次(N>1)画,画线。
static int i=0;
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if(newbool==true)
{
myGraphics=this.CreateGraphics();
myPen=new Pen(Color.Pink,2);
if(i==0)
{
newpo[0].X=e.X;
newpo[0].Y=e.Y;
myGraphics.DrawEllipse(myPen,newpo[0].X,newpo[0].Y,2,2);
i++;
}
else if(i>0&&i<500)
{
newpo[i].X=e.X;
newpo[i].Y=e.Y;
myGraphics.DrawLine(myPen,newpo[i-1],newpo[i]);
i++;
}
else if(i==500)
{
i=0;
newpo[0].X=e.X;
newpo[0].Y=e.Y;
myGraphics.DrawLine(myPen,newpo[499],newpo[0]);
i++;
}
} }