Archivo de la etiqueta: C#

Insertar vScroll manual y con funcion Wheel del mouse

hola, aqui les muestros los pasos aplicados en el siguiente codigo:

public Formulario()
{
InitializeComponent();

this.MouseWheel += new MouseEventHandler(pn_contenedor_MouseWheel);

// this. es el formulario a la cual se esta aplicando
}

// lo que esta en negritas es el método que va enlazado al evento MouseWheel

private void pn_contenedor_MouseWheel(object sender, MouseEventArgs e) {
try{

sc_content.Minimum = 0;
if (e.Delta > 0) {

sc_content.Value -= (sc_content.Maximum / 20);
panelprincipal.Top = (sc_content.Value * -1) + 50;

} else {

sc_content.Value += (sc_content.Maximum / 20);
panelprincipal.Top = (sc_content.Value * -1) + 50;

}

// la condicion donde especifica el e.Delta es lo que nos permite el funcionamiento del MouseWheel, es decir si esta subiendo o bajando

// y el try catch se encarga de capturar las excepciones causadas por minimun a maximun del scroll manual, recuerden que es un vscroll lo que estamos aplicando

}
catch
{

}

}

y finalmente: colocar el maximo y minimo en un evento Active o Load para especificarlo como predeterminado en un vScrollbar en VS.NET

private void Proyect_Activated(object sender, EventArgs e)
{

sc_content.Maximum = panelprincipal.Height – 300;
panelprincipal.Top = (sc_content.Value) + 50;

}

Anuncios

Mantener la posición de un autoscroll cuando el panel es mas grande que el formulario: vb.net y C#

Síntomas


En una aplicación de Microsoft Windows Forms, si claro y volver a dibujar un control Panel automático desplazable que contiene los controles secundarios, no se mantiene la posición de desplazamiento.

Causa


A veces, debe borrar el contenido del Panel de control y vuelva a dibujar el contenido del Panel decontrol. Por ejemplo, debe hacerlo si el control de Panel de desplazamiento automático contiene una colección de controles que tienen un orden específico. Normalmente, estos controles son controles de usuario.

Sin embargo, la aplicación no almacena el valor de la
Propiedad AutoScrollPosition del control Panel . Por lo tanto, la posición de desplazamiento no se mantiene cuando se vuelve a dibujar el contenido del Panel de control.