[C#]制作可以调整大小的自定义控件

本文探讨如何在C#中创建一个自定义控件,使其在程序运行时允许用户自由调整大小。通过设置Style属性和利用Extended Window Styles,可以实现这一功能。尽管遇到如BorderStyle和BorderSize调整的挑战,以及OnPaint事件未达到预期效果的问题,作者尝试通过重绘和响应WM_CTLCOLOREDIT消息来改进,但最终发现外部边框并不属于TextBox的绘制范围。目标是构建一个桌面便签应用。
摘要由CSDN通过智能技术生成

当然,标题是为了降低大部分人的好奇心哭不过反正没人看。


这里说的并不是在VS的窗体设计器里调整控件大小,而是在程序运行起来后,在窗体中随意拖动调整控件大小。

如果用 鼠标的按键事件 来做,也可以,鼠标按下并拖动时计算鼠标位置然后改变控件大小即可。

但既然是自定义控件,就不应该那么麻烦。

只需要设置 Style 属性即可:

    public partial class TextBoxEx : TextBox
    {
        public TextBoxEx()
        {
            InitializeComponent();
        }

        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cm = base.CreateParams;
                cm.Style |= (int)0x00040000L;
                return cm;
            }
        }
    }


不过本文并不是什么教程之类,所以还是老实贴网址出来:

Style 的值:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值