用c#在winform上把给定100个点的坐标画上去
时间: 2024-03-26 22:35:43 浏览: 20
可以使用C#的Graphics类在WinForm上绘制给定的100个点的坐标。以下是一个简单的示例代码:
```csharp
private void Form1_Paint(object sender, PaintEventArgs e)
{
// 给定100个点的坐标
Point[] points = new Point[100];
// 假设所有点都在窗口范围内,随机生成坐标
Random rnd = new Random();
for (int i = 0; i < 100; i++)
{
points[i] = new Point(rnd.Next(this.ClientSize.Width), rnd.Next(this.ClientSize.Height));
}
// 创建画笔
Pen pen = new Pen(Color.Black, 3);
// 绘制点
foreach (Point point in points)
{
e.Graphics.DrawEllipse(pen, point.X, point.Y, 5, 5);
}
}
```
在窗口的`Paint`事件中,我们生成100个点的坐标,然后使用`Graphics.DrawEllipse`方法画出这些点。在这个例子中,我们随机生成点的坐标,因此每次打开窗口时,点的位置都会不同。你可以根据实际需求更改代码,调整点的位置、数量、颜色等。
相关问题
C# winform 使用外部数据坐标在picturebox图片上画实心点
可以通过以下步骤实现在PictureBox上绘制实心点:
1. 在C# Winform中,创建一个PictureBox控件和一个Button控件。
2. 在PictureBox中加载一张图片。
3. 在Button的Click事件中,编写绘制实心点的代码。
以下是代码示例:
```csharp
private void button1_Click(object sender, EventArgs e)
{
// 获取PictureBox的Graphics对象
Graphics g = pictureBox1.CreateGraphics();
// 设置画笔颜色为红色
Pen pen = new Pen(Color.Red);
// 获取外部数据的坐标
int x = 100; // 假设外部数据的x坐标为100
int y = 200; // 假设外部数据的y坐标为200
// 将外部数据的坐标转换成PictureBox上的坐标
Point point = pictureBox1.PointToClient(new Point(x, y));
// 在PictureBox上绘制实心点
g.FillEllipse(Brushes.Red, point.X, point.Y, 5, 5);
}
```
在上述示例中,我们首先获取了PictureBox的Graphics对象,然后设置了画笔颜色为红色。接着,我们获取了外部数据的坐标,将其转换成PictureBox上的坐标,并使用FillEllipse方法在PictureBox上绘制实心点。
需要注意的是,当PictureBox的大小发生变化时,外部数据的坐标也需要进行相应的调整才能正确地绘制实心点。
c# 使用winform设置CAD坐标
要在 C# WinForms 中设置 CAD 坐标,您可以按照以下步骤进行操作:
1. 首先,确保您已经安装了适当的 CAD 软件,并且该软件提供了与 C# 进行集成的支持。
2. 在 Visual Studio 中创建一个 WinForms 应用程序的项目。
3. 在工具箱中找到并添加一个合适的 ActiveX 控件,该控件可以用于嵌入 CAD 软件。
4. 在代码中,使用 ActiveX 控件的名称创建一个控件实例,并初始化连接到 CAD 软件。例如:
```csharp
using CADActiveX;
// 创建 ActiveX 控件实例
YourCADControl cadControl = new YourCADControl();
// 连接到 CAD 软件
cadControl.Connect();
```
5. 在 WinForms 界面中添加一个按钮或其他交互元素,并为其添加一个点击事件处理程序。
```csharp
private void btnSetCoordinates_Click(object sender, EventArgs e)
{
// 从界面获取坐标值
double x = Convert.ToDouble(txtX.Text);
double y = Convert.ToDouble(txtY.Text);
double z = Convert.ToDouble(txtZ.Text);
// 设置 CAD 对象的坐标
CADObject cadObject = cadControl.GetSelectedObject();
cadObject.SetCoordinates(x, y, z);
// 刷新 CAD 控件以显示更新后的坐标
cadControl.Refresh();
}
```
请注意,以上代码仅为示例,具体的实现方式可能因不同的 CAD 软件和 ActiveX 控件而异。您需要根据所使用的 CAD 软件和控件的 API 文档来确定正确的方法和属性。
希望这些信息对您有帮助!如有任何进一步的问题,请随时提问。