You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Form绘制矩形失败求助:代码无法正常生成矩形

Windows Form绘制矩形失败的解决方法

你的代码逻辑本身没问题,但没有将FormPaint方法绑定到窗体的Paint事件上,这就是矩形无法显示的核心原因。Windows Form只有在事件与方法关联后,才会在窗体重绘时执行对应的绘制代码。

以下是两种解决方式:

  • 设计器绑定事件

    1. 打开Form1的设计视图
    2. 选中窗体,点击属性面板的闪电图标切换到事件列表
    3. 在Paint事件的下拉选项中选择FormPaint方法
  • 代码手动绑定事件
    修改窗体构造函数,添加事件绑定代码:

    public Form1()
    {
        InitializeComponent();
        // 将Paint事件关联到FormPaint方法
        this.Paint += FormPaint;
    }
    

额外优化建议:Pen属于非托管资源,使用后最好释放以避免内存泄漏,可改用using语句包裹:

private void FormPaint(object sender, PaintEventArgs e)
{
    using (Pen pen = new Pen(Color.Red, 3))
    {
        Rectangle rect = new Rectangle(0, 0, 100, 100);
        e.Graphics.DrawRectangle(pen, rect);
    }
}

内容的提问来源于stack exchange,提问作者Kieran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 09:45:28