AutoScroll en Formulario de VB.NET

He creado un formulario en el cual coloque un panel y dentro de ste panel coloque varios combobox, al formulario le coloque la propiedad Autoscroll en True para que me muestre la barra de desplazamiento, todo bien hasta qui, el problema empieza cuando ejecuto el formulario y selecciono cualquiera de los combobox y quiero bajar la barra espaciadora con el scroll del mouse, no me la baja sino que me cambia el item seleccionado en el combobox, doy clic por fuera del combobox y del panel, pero no me deselecciona el combobox para poder bajar la barra con el scroll del mouse, como puedo arreglar este problema.

1 respuesta

Respuesta
1
Al panel ponele TabStop en true, fíjate ahí si funciona bien.
Hola Experto, gracias por responder, coloque la propiedad TabStoop del panel en true pero no funciono, sigue igual que antes, ¿qué pudiera hacer para que no pase esto?
No entiendo bien tu pregunta, ¿lo qué quieres es que cuando le des a la ruedita del mouse baje el formulario? ¿O el combobox?
Que baje el formulario, lo que pasa en otras palabras es que cuando yo selecciono el combobox el scroll del mouse queda funcionando para el combobox y no para el formulario que es lo que yo quiero, y cuando doy clic en el fondo del formulario o en el fondo del panel NO se quita el focus del combobox, como lograr que cuando yo haga clic en el fondo del formulario o del panel se quite el focus del combobox y quede funcionando el scroll del mouse con el formulario. Gracias por tu respuesta.
Yo probé lo que me dijiste poniendo en el evento mouseclick del formulario panel1. Focus() y funciona perfecto fíjate.
También así funciono pero lo tendrías que poner en el evento MouseWheel de cada control que pongas en el panel, lo anterior es más sencillo por que con solo hacer click en el panel o el form le da el foco del mousewheel en cambio así no hace falta hacer click afuera.
this.comboBox1.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.ComboBox1_MouseW);
private void ComboBox1_MouseW(object sender, MouseEventArgs e)
        {
            panel1.Focus();
        }
Excelente Superpe2003 me aclaraste la duda, utilice lo que me dijiste el evento mouseclick del formulario y coloque panel1.focus() y funciona a las mil maravillas, justo como lo necesitaba, muchísimas gracias.
Private Sub Panel1_Click(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseClick
        Panel1.Focus()
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas