¿Cómo puedo aumentar el tamaño de una casilla de verificación en .Net WinForm. Intenté Altura y Ancho pero no aumenta el tamaño de la Caja.¿Cómo aumentar el tamaño de la casilla de verificación en WinForms?
Respuesta
El tamaño de la casilla de verificación está codificado dentro de Windows Forms, no se puede meter con él. Una posible solución es dibujar una casilla de verificación encima de la existente. No es una gran solución ya que el auto-tamaño ya no puede funcionar tal como está y la alineación del texto está confusa, pero es útil.
Agregue una nueva clase a su proyecto y pegue el código que se muestra a continuación. Compilar. Coloque el nuevo control desde la parte superior de la caja de herramientas en su formulario. Ajuste el tamaño del control para que obtenga el tamaño de caja deseado y asegúrese de que sea lo suficientemente ancho como para caber en el texto.
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);
}
}
Para poder cambiar el tamaño de una casilla de verificación debe establecer la propiedad de cambiar el tamaño a falso. He tratado:
Public Sub New()
Me.Text = "Approved"
Me.TextAlign = ContentAlignment.MiddleLeft
Me.FlatStyle = Windows.Forms.FlatStyle.Flat
End Sub
y:
Me.Height = 24
Me.Width = 200
Dim squareSide As Integer = 20
Dim rect As New Rectangle(New Point(0, 1), New Size(squareSide, squareSide))
ControlPaint.DrawCheckBox(
e.Graphics, rect, If(Me.Checked, ButtonState.Checked, ButtonState.Normal))
Me.FlatStyle = FlatStyle.Flat
End Sub
no trabajado,
También probé para anular el estilo plano, pero no es capaz de anular-... alguna idea?
No hay propiedad de "cambio de tamaño" en el control CheckBox Windows Forms. – AnAurelian
Hay una opción AutoSize
en las ventanas Properties
; Si lo desactiva cambiándolo a False
, podrá modificar el tamaño de su CheckBox
.
Si alguien necesita el código VB.NET, he adaptado este código. No engañé con AutoSize
en la clase. El control debería agregarse a la caja de herramientas una vez que se haya construido el proyecto. Puede establecer AutoSize
a False
allí de la misma manera que lo haría con cualquier otro control.
si importa, acabo de poner el código de clase por debajo de la End Class
de la forma lo estaba utilizando en.
para aclarar lo AutoSize
hace, la ventaja de este nuevo control es que la parte de "caja" de la casilla de verificación puede hacerse más grande. En la casilla de verificación normal, no puede cambiar la parte del cuadro.
La única desventaja de este nuevo control que veo es que cuando se cambia el tamaño de la parte de la caja se sobrepasa el texto si se alinea a la izquierda; soluciona esto con la propiedad TextAlign
.
Public Class NewCheckBox
Inherits CheckBox
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
MyBase.OnPaint(e)
'Make the box you check 3/4 the height
Dim boxsize As Integer = Me.Height * 0.75
Dim rect As New Rectangle(
New Point(0, Me.Height/2 - boxsize/2),
New Size(boxsize, boxsize)
)
ControlPaint.DrawCheckBox(e.Graphics, rect, If(Me.Checked, ButtonState.Checked, ButtonState.Normal))
End Sub
End Class
C# versión, desde a forum.codecall.net topic:
class BigCheckBox : CheckBox
{
public BigCheckBox()
{
this.Text = "Approved";
this.TextAlign = ContentAlignment.MiddleRight;
}
public override bool AutoSize
{
set { base.AutoSize = false; }
get { return base.AutoSize; }
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
this.Height = 100;
this.Width = 200;
int squareSide = 80;
Rectangle rect = new Rectangle(new Point(0, 1), new Size(squareSide, squareSide));
ControlPaint.DrawCheckBox(e.Graphics, rect, this.Checked ? ButtonState.Checked : ButtonState.Normal);
}
}
Tengo esto funcionando, pero ¿hay alguna manera de establecer el estilo plano? – Ross
utilizar un control diferente (por ejemplo, etiqueta o botón) y acaba de programar el evento onclick para cambiar su apariencia de una manera aceptable.
- 1. Combobox con casilla de verificación en winforms
- 2. Winforms Casilla de verificación Enfoque Problema si no se aplica texto en la casilla de verificación
- 3. Aumentar tamaño de casilla de verificación no es texto en QT?
- 4. Tamaño de casilla de verificación IE 9
- 5. ¿Cómo puedo aumentar el espacio entre la casilla de verificación y el texto asociado?
- 6. Cambiar el tamaño de una casilla de verificación y la marca de verificación
- 7. C# Agregar casilla de verificación a WinForms Menú contextual
- 8. ¿Cómo obtener el tamaño del cheque y el espacio en la casilla de verificación?
- 9. cómo borrar la casilla de verificación
- 10. ¿Cómo elimino el borde de la casilla de verificación?
- 11. Casilla de verificación Grails
- 12. JQuery La verificación de la casilla de verificación está marcada
- 13. Casilla de verificación en ExpandableListView
- 14. ¿Cómo aumentar el tamaño máximo de la agrupación en ActiveRecord?
- 15. ¿Cómo puedo aumentar el tamaño de la pila en Python?
- 16. personalizar la casilla de verificación preferencia
- 17. Marca de verificación en una casilla de verificación
- 18. QT - casilla de verificación desmarque
- 19. ¿Cómo aumentar el tamaño de la pila de Java?
- 20. valor de casilla de verificación en jquery
- 21. ¿Aumentar el tamaño de letra en la leyenda de octava?
- 22. ¿Aumentar el tamaño de letra en Firebug?
- 23. Cómo crear la casilla de verificación sin enviar en PHP?
- 24. ¿Cómo encuentro la primera casilla de verificación en Capibara?
- 25. Columna de casilla de verificación en Infragistics ganar ultragrid
- 26. FDF: cómo marcar una casilla de verificación?
- 27. jsTree Ocultar casilla de verificación
- 28. ¿Cómo desactivo una casilla de verificación?
- 29. Cómo escuchar casilla de verificación en la tabla JFace Visor
- 30. Marque la casilla de verificación deshabilitada (Jquery)
El único problema es que en Windows 7 el estilo de la casilla de verificación no coincide con el predeterminado del sistema –
al llamar 'base.OnPaint (e);' también deja algunos píxeles en la pantalla, prefiero llamar a 'e.Graphics .Clear (this.BackColor); ' –
Muy buena solución, excepto cuando hago la fuente más grande, en cada punto de 2 fuentes, el derecho de la casilla se superpone un poco con el texto de la derecha. – Samuel