gpt4 book ai didi

c++ - 调整用户控件的大小

转载 作者:太空宇宙 更新时间:2023-11-04 12:11:16 26 4
gpt4 key购买 nike

我正在尝试创建一个圆角矩形,但决定从更简单的东西开始,在本例中是一个椭圆。不幸的是,当我将自定义控件拖到 Fprm1.cs[design] 上并尝试调整它的大小时,实际的椭圆没有任何变化。只有当我进入 usercontrol[design] 并调整它的大小时,它才会改变。如果有人能指出我哪里出错了,我将不胜感激。谢谢。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;

namespace CustomPbar
{
public partial class Pbar : UserControl
{
GraphicsPath path = new GraphicsPath();

public Pbar()
{
InitializeComponent();
path.AddEllipse(0, 0, this.ClientSize.Width, this.ClientSize.Height);
this.Region = new Region(path);

this.BackColor = SystemColors.ControlDarkDark;
}

private void MyForm_Layout(object sender, System.Windows.Forms.LayoutEventArgs e)
{
if (this.Region != null)
{
this.Region.Dispose();
this.Region = null;
}

path.AddEllipse(0, 0, this.Width, this.Height);
this.Region = new Region(path);
}
}
}

最佳答案

尝试从 Resize 事件中调用它:

protected override void OnResize(EventArgs e) {
using (GraphicsPath gp = new GraphicsPath()) {
gp.AddEllipse(this.ClientRectangle);
this.Region = new Region(gp);
}

base.OnResize(e);
}

关于c++ - 调整用户控件的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9688771/

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