winform picbox如何绘制一个窗体中心十字架
时间: 2023-08-11 20:05:57 浏览: 235
可以通过在`PictureBox`的`Paint`事件中绘制一个中心十字架来实现。
以下是实现的代码:
```csharp
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
// 获取PictureBox的中心点
int centerX = pictureBox1.Width / 2;
int centerY = pictureBox1.Height / 2;
// 设置十字架的颜色和线宽
Pen pen = new Pen(Color.Red, 2);
// 绘制横向线
e.Graphics.DrawLine(pen, new Point(0, centerY), new Point(pictureBox1.Width, centerY));
// 绘制纵向线
e.Graphics.DrawLine(pen, new Point(centerX, 0), new Point(centerX, pictureBox1.Height));
}
```
将以上代码添加到`PictureBox`的`Paint`事件中即可在窗体中心绘制一个红色的十字架。
相关问题
winform picbox如何通过点击按钮绘制一个窗体中心十字架
可以通过在按钮的点击事件中调用`PictureBox`的`Invalidate`方法,然后在`PictureBox`的`Paint`事件中绘制中心十字架来实现。
以下是实现的代码:
```csharp
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Invalidate();
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
// 获取PictureBox的中心点
int centerX = pictureBox1.Width / 2;
int centerY = pictureBox1.Height / 2;
// 设置十字架的颜色和线宽
Pen pen = new Pen(Color.Red, 2);
// 绘制横向线
e.Graphics.DrawLine(pen, new Point(0, centerY), new Point(pictureBox1.Width, centerY));
// 绘制纵向线
e.Graphics.DrawLine(pen, new Point(centerX, 0), new Point(centerX, pictureBox1.Height));
}
```
将以上代码添加到按钮的点击事件和`PictureBox`的`Paint`事件中即可在点击按钮时在窗体中心绘制一个红色的十字架。
winform picbox如何通过点击按钮绘制一个窗体中心十字架,不使用paint
可以在按钮的点击事件中添加一个新的控件,该控件的位置为窗体中心,大小为窗体的大小,然后在该控件中添加两个`Panel`控件,一个水平方向的,一个垂直方向的,两个`Panel`控件的颜色可以设置为黑色,例如:
```csharp
private void button1_Click(object sender, EventArgs e)
{
// 创建新的控件
Control cross = new Control();
cross.BackColor = Color.Transparent;
cross.Size = this.ClientSize;
cross.Location = new Point(0, 0);
this.Controls.Add(cross);
// 创建水平方向的Panel控件
Panel hPanel = new Panel();
hPanel.BackColor = Color.Black;
hPanel.Size = new Size(cross.Width, 2);
hPanel.Location = new Point(0, cross.Height / 2);
cross.Controls.Add(hPanel);
// 创建垂直方向的Panel控件
Panel vPanel = new Panel();
vPanel.BackColor = Color.Black;
vPanel.Size = new Size(2, cross.Height);
vPanel.Location = new Point(cross.Width / 2, 0);
cross.Controls.Add(vPanel);
}
```
将以上代码添加到按钮的点击事件中即可在窗体中心绘制一个十字架。注意:该方法创建的是一个新的控件,而不是在`PictureBox`中绘制内容。如果需要在`PictureBox`中绘制内容,请参考之前的回答。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)