Как я увеличиваю размер флажка в.Net WinForm. Я попробовал Высоту и Ширину, но она не делает увеличивает размер Поля.
Размер флажка жестко запрограммирован внутри Windows Forms, вы не можете с ним связываться. Один из возможных обходных путей - нарисовать флажок поверх существующего. Это не лучшее решение, поскольку автоматическое изменение размера больше не может работать как есть, а выравнивание текста запутано, но это исправно.
Добавьте новый класс в свой проект и вставьте код, показанный ниже. Скомпилировать. Перетащите новый элемент управления из верхней части панели инструментов в форму. Отрегулируйте размер элемента управления так, чтобы получить желаемый размер поля и убедиться, что он достаточно широкий, чтобы уместить текст.
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);
}
}