Me conformé con deshabilitar los botones de flecha, como menos feo que tratar de ocultarlos o eliminarlos.
Inmediatamente después de este código repetitivo:
internal MainWin()
{
InitializeComponent();
, añadir lo siguiente:
myNumericUpDown.Controls[0].Enabled = false; // Disable the arrow buttons.
también: establecer InterceptArrowKeys
a false
en las propiedades del control, para evitar que las teclas de flecha (en el teclado) de incremento y decrementando myNumericUpDown.Value
.
maneras: Bad
myNumericUpDown.Controls[0].Hide(); // Hide the arrow buttons.
// This leaves a gray patch that turns white after minimize-and-restore.
myNumericUpDown.Controls.RemoveAt(0); // Remove the arrow buttons.
// This leaves a gray patch that turns white after minimize-and-restore.
media mala manera:
Forget los anteriores. Establezca solo Increment
en 0
en las propiedades del control. Los botones de flecha todavía funcionan, y las teclas de flecha (en el teclado) todavía se interceptan, pero ahora no hacen nada. Tristemente, los botones de no acción son probablemente menos intuitivos que los botones de flecha desactivados. (Me sorprende que incluso acepta Increment
= 0
Una versión inteligente de este control sería perfectamente ocultar los botones de flecha cuando el incremento es 0..)
otra solución (s):
Un número- La casilla se puede implementar como TextBox
con un código adicional que restringe la entrada solo a números, y devuelve o anuncia un valor numérico (decimal
o su elección).(La búsqueda encuentra muchos ejemplos diversos y complejos). Los datos pegados se diferencian de las pulsaciones de teclas, por lo que se necesita código adicional para manejar las pegadas. (Upside: puede hacer que la caja de números sea más inteligente que el NumericUpDown
incorporado: NumericUpDown acepta estúpidamente y muestra .
hasta que el usuario presiona Intro o abandona el campo, incluso si especifica DecimalPlaces = 0
, y acepta y muestra múltiples puntos decimales, que no tiene sentido.)
un número entero-box es más sencillo que un número de cuadro generalizada que acepta números reales (opcionalmente en notación de coma flotante) y devuelve un tipo de número real (float
, double
, o decimal
).
Acabo de probar esto, lo siento, no funciona .. El lado derecho del cuadro de texto tiene un espacio que no se puede usar .. El texto comienza a desplazarse cuando toca el espacio en blanco donde solían estar los botones Arriba :( – krebstar
@krebstar - actualicé la respuesta –
Hola, gracias por la ayuda. Pero todavía no resuelve mi problema. Aquí hay una foto para mostrarte de lo que estoy hablando: http://imgur.com/EP1OD – krebstar