gpt4 book ai didi

c# - 如何在覆盖整个工作区的窗体上画一个圆圈?

转载 作者:行者123 更新时间:2023-11-30 21:19:08 27 4
gpt4 key购买 nike

如何在窗体上画一个覆盖整个工作区的圆圈?

我试过下面的代码。但是当我重新调整表格大小时,圆圈变形了。 alt text

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;

g.SmoothingMode = SmoothingMode.AntiAlias;

Pen redPen = new Pen(Color.Red, 3);
Rectangle rect = new Rectangle(0,0, this.ClientSize.Width, this.ClientSize.Height);

g.DrawEllipse(redPen, rect);

}
}

最佳答案

您还应该挂接到 ClientSizeChanged 事件以触发重绘。

目前的情况是,Windows 假设只有一小部分可见的部分需要重绘,并剪掉其他所有部分。因此,您需要在调整大小时使完整表单无效 (Invalidate())。

如果圆圈在调整大小时开始闪烁,请启用表单的双缓冲。

关于c# - 如何在覆盖整个工作区的窗体上画一个圆圈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3940601/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com