C#VB.net如何增加WinForms中复选框的大小?

如何增加.Net WinForm中复选框的大小。我尝试了"高度"和"宽度",但它不会增加Box的大小。

最佳答案

复选框的大小在Windows窗体内是硬编码的,您不能将其弄乱。一种可能的解决方法是在现有复选框的上方绘制一个复选框。这不是一个很好的解决方案,因为自动调整大小无法按原样工作,并且文本对齐困惑了,但是可以使用。

在您的项目中添加一个新类,并粘贴以下代码。编译。将新控件从工具箱的顶部拖放到窗体上。调整控件的大小,以便获得所需的框大小,并确保它足够宽以适合文本。

<code>

using System;

using System.Drawing;

using System.Windows.Forms;

class MyCheckBox : CheckBox {

public MyCheckBox() {

this.TextAlign = ContentAlignment.MiddleRight;

}

public override bool AutoSize {

get { return base.AutoSize; }

set { base.AutoSize = false; }

}

protected override void OnPaint(PaintEventArgs e) {

base.OnPaint(e);

int h = this.ClientSize.Height - 2;

Rectangle rc = new Rectangle(new Point(0, 1), new Size(h, h));

ControlPaint.DrawCheckBox(e.Graphics, rc,

this.Checked ? ButtonState.Checked : ButtonState.Normal);

}

}

</code>

相关推荐
崔庆才丨静觅6 分钟前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment9 分钟前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅24 分钟前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊26 分钟前
jwt介绍
前端
爱敲代码的小鱼33 分钟前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax
bugcome_com38 分钟前
深入了解 C# 编程环境及其开发工具
c#
Cobyte1 小时前
AI全栈实战:使用 Python+LangChain+Vue3 构建一个 LLM 聊天应用
前端·后端·aigc
NEXT061 小时前
前端算法:从 O(n²) 到 O(n),列表转树的极致优化
前端·数据结构·算法
剪刀石头布啊1 小时前
生成随机数,Math.random的使用
前端
剪刀石头布啊1 小时前
css外边距重叠问题
前端