@Mystere Hombre: Es posible que desee un cuadro de texto que no se puede utilizar todo el tiempo. Por ejemplo, le permito al usuario crear cuadros de texto en un lienzo y arrastrarlos alrededor. Para evitar que seleccionen y muevan texto cuando están arrastrando, necesito desautorizar la entrada del usuario, y la selección de texto también debe deshabilitarse porque causa un retraso que daña mi función de arrastre. En mi aplicación, el usuario solo puede editar un cuadro de texto cuando hace doble clic en él, y luego debe hacer clic fuera del cuadro de texto para poder moverlo nuevamente.
básicamente tengo este código (donde t es un cuadro de texto):
// Prevent text entry
t.IsReadOnly = true;
// Prevent text selection
t.Focusable = false;
Este comportamiento es preferible deshabilitar todo el control (t.Enabled = false
), ya que también dejaría de eventos MouseDown y DoubleClick, que se detendría arrastrando y cambiando de editar al modo de arrastre de trabajo. Sin mencionar que el cuadro de texto se pondría gris.
usted va a tener que explicar más. Desactivar, por definición, está haciendo un control no seleccionable. A menos que ese control sea algo así como una etiqueta, que no es seleccionable para empezar, entonces el concepto de "no seleccionable" pero aún un cuadro de texto son mutuamente excluyentes. Por ejemplo, ¿cómo planea desplazar el texto en el cuadro de texto si no puede seleccionarlo? –
Esto no es una solución, ya que el texto aún se podrá seleccionar, pero puede configurar el Cursor como predeterminado en lugar de IBeam. Esto hará que seleccionar el texto sea una opción de usuario menos obvia. "TextBox1.Label.Cursor = Cursors.Default; " – amalgamate