用#窗体应用程序1、编写一个Line Length应用程序 要求如下:在窗体上绘制一条黑色直线并计算他的长度,如图所示。该直线从按下鼠标按钮出的坐标开始,直到释放鼠标按钮的那点结束。应用程序应当在“Length = ”标签中显示直线的长度(即两个端点之间的距离)。
时间: 2024-03-07 15:47:47 浏览: 147
窗体类型-Windows窗体应用程序设计
以下是使用C#和Windows Forms编写的Line Length应用程序代码,满足您的需求:
```csharp
using System;
using System.Drawing;
using System.Windows.Forms;
namespace LineLengthApp
{
public partial class MainForm : Form
{
private Point start;
private Point end;
public MainForm()
{
InitializeComponent();
}
private void canvas_MouseDown(object sender, MouseEventArgs e)
{
start = e.Location;
}
private void canvas_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
canvas.Refresh();
end = e.Location;
canvas.CreateGraphics().DrawLine(Pens.Black, start, end);
}
}
private void canvas_MouseUp(object sender, MouseEventArgs e)
{
end = e.Location;
float length = (float)Math.Sqrt((end.X - start.X) * (end.X - start.X) + (end.Y - start.Y) * (end.Y - start.Y));
lengthLabel.Text = "Length = " + length.ToString("F2");
}
}
}
```
在窗体上添加一个`Panel`控件,将其命名为`canvas`。在窗体上添加一个`Label`控件,将其命名为`lengthLabel`。
接下来,在窗体类的构造函数中,将`canvas`控件的`MouseDown`、`MouseMove`和`MouseUp`事件分别绑定到`canvas_MouseDown`、`canvas_MouseMove`和`canvas_MouseUp`事件处理方法。实现这些事件处理方法,用`Graphics`对象在`canvas`控件上绘制一条黑色直线,并计算该直线的长度。最后,将该长度显示在`lengthLabel`标签中。
运行该程序后,您可以在`canvas`上按下鼠标左键并拖动,画出一条直线,直到松开鼠标左键。程序会在`lengthLabel`标签中显示该直线的长度。
阅读全文