在窗体里面设置一个画布,然后在画布里面用鼠标左键收集点,右键表示多边形绘制完成。
5条回答 默认 最新
- CSDN专家-showbo 2021-06-01 10:44关注
写了个示例,对你有帮助能点击采纳支持下吗,谢谢~ 效果如下
List<Point> polyPoints = null; bool cliceMenu = false; private void Form1_MouseDown(object sender, MouseEventArgs e) { if (cliceMenu) { if (e.Button == MouseButtons.Left) { if (polyPoints == null) polyPoints = new List<Point>(); polyPoints.Add(e.Location); } else if (e.Button == MouseButtons.Right) { using (var g = this.CreateGraphics()) { g.SmoothingMode = SmoothingMode.AntiAlias; g.Clear(Color.White); using (SolidBrush br = new SolidBrush(Color.FromArgb(100, Color.Yellow))) { g.FillPolygon(br, polyPoints.ToArray()); } g.DrawPolygon(Pens.DarkBlue, polyPoints.ToArray()); foreach (Point p in polyPoints) { g.FillEllipse(Brushes.Red, new Rectangle(p.X - 2, p.Y - 2, 4, 4)); } polyPoints = null; } } } } private void button1_Click(object sender, EventArgs e) { using (var g = this.CreateGraphics()) { g.Clear(this.BackColor); } } private void 绘制多边形ToolStripMenuItem_Click(object sender, EventArgs e) { cliceMenu = true; } private void 停止绘图ToolStripMenuItem_Click(object sender, EventArgs e) { cliceMenu = false; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效