用c#窗体程序写一个绘图应用程序
时间: 2023-11-25 17:06:19 浏览: 106
好的,以下是一个简单的绘图应用程序的示例代码:
首先,创建一个新的 C# 窗体应用程序。在窗体上添加一个 Panel 控件,用于绘制图形。
在窗体的代码文件中,添加以下代码:
```csharp
using System;
using System.Drawing;
using System.Windows.Forms;
namespace DrawingApp
{
public partial class MainForm : Form
{
private bool isDrawing = false;
private Point startPoint;
private Point endPoint;
private Graphics graphics;
public MainForm()
{
InitializeComponent();
graphics = panel.CreateGraphics();
}
private void panel_MouseDown(object sender, MouseEventArgs e)
{
isDrawing = true;
startPoint = e.Location;
}
private void panel_MouseMove(object sender, MouseEventArgs e)
{
if (isDrawing)
{
endPoint = e.Location;
graphics.DrawLine(Pens.Black, startPoint, endPoint);
startPoint = endPoint;
}
}
private void panel_MouseUp(object sender, MouseEventArgs e)
{
isDrawing = false;
}
private void clearButton_Click(object sender, EventArgs e)
{
graphics.Clear(Color.White);
}
}
}
```
这个示例应用程序通过鼠标事件在 Panel 控件上绘制直线。isDrawing 变量用于跟踪是否正在绘制。startPoint 和 endPoint 变量用于存储直线的起点和终点。graphics 对象用于在 Panel 控件上绘制。
在窗体上添加一个清除按钮,单击该按钮时,清除 Panel 控件上的所有图形。将以下代码添加到清除按钮的 Click 事件处理程序中:
```csharp
private void clearButton_Click(object sender, EventArgs e)
{
graphics.Clear(Color.White);
}
```
最后,在窗体的代码文件中,将 panel 控件的 MouseDown、MouseMove 和 MouseUp 事件分别绑定到 panel_MouseDown、panel_MouseMove 和 panel_MouseUp 事件处理程序。
在窗体设计器中,将 Panel 控件的 Dock 属性设置为 Fill,以便它占据整个窗体。
现在,运行应用程序,你可以在 Panel 控件上绘制直线,单击清除按钮可以清除所有绘图。
阅读全文