winform 窗口伸缩 panel控件太多闪烁问题

本文探讨如何在Visual Studio中通过关闭可视化并调用自适应代码`asc.controlAutoSize(this)`解决Panel内控件过多导致的闪烁问题。作者提供了关键代码段,包括设置面板可见性及重绘操作,以实现平滑的控件调整过程。
摘要由CSDN通过智能技术生成

panel里面控件太多,一调整就会闪烁,所以一定要将可视化先关闭,我就贴我的代码。

private void EcgAlgorithmAnalysis_SizeChanged(object sender, EventArgs e)
        {
            this.panel1.Visible = false;//关闭显示
            asc.controlAutoSize(this);
            this.panel1.Visible = true;//开启显示
            int width = this.panel1.Width;
            int height = this.panel1.Height;
            //this.ResumeLayout(false);
            bmpBase = new Bitmap(width, height);
            bmpDraw = new Bitmap(width, height);
            DrawBitmap(bmpBase);
            DrawBitmap(bmpDraw);
        }

其中asc.controlAutoSize(this);是控件自适应代码,我从网上借鉴的。

WinForms 中,你可以通过以下步骤实现点击按钮加载用户控件Panel 控件中: 1. 创建用户控件 首先,你需要创建一个用户控件。可以使用 Visual Studio 的“添加新项”命令(右键单击项目 -> 添加 -> 新建项),选择“用户控件”模板,并按照向导创建用户控件。 2. 添加按钮控件 在需要添加按钮的窗体中,找到工具箱中的“按钮”控件,将其拖拽到窗体中。 3. 在按钮点击事件中添加代码 在按钮的点击事件中添加以下代码: ```csharp private void button1_Click(object sender, EventArgs e) { // 创建用户控件对象 UserControl1 userControl = new UserControl1(); // 将用户控件添加到 Panel 控件panel1.Controls.Add(userControl); // 设置用户控件Panel 中的位置和大小 userControl.Location = new Point(10, 10); userControl.Size = new Size(200, 200); } ``` 其中,`UserControl1` 表示你创建的用户控件类型名称,`panel1` 表示需要添加用户控件Panel 控件名称。你需要将这两个名称替换为实际名称。 4. 运行程序并点击按钮 现在,你可以运行你的程序,并点击按钮,就可以将用户控件加载到 Panel 控件中了。 注意,如果你希望每次点击按钮都创建一个新的用户控件对象并添加到 Panel 控件中,就需要在点击事件中创建新的用户控件对象。如果你希望只添加一个用户控件,可以将用户控件对象定义为类成员,这样每次点击按钮就不会重复创建用户控件对象了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鄢广杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值