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.

Anuncios

No me deja subir datos a phpmyadmin error #1046 – Aucune base n’a été sélectionnée

Hola, quiero subir una base de datos de un gamemode al phpmyadmin
y me da el siguiente error:

 Codigo:
Error
consulta SQL:




--
-- Database: `scrp`
--

-- --------------------------------------------------------

--
-- Table structure for table `accounts`
--

CREATE TABLE IF NOT EXISTS `accounts` (
  `ID` int(12) NOT NULL AUTO_INCREMENT,
  `Username` varchar(24) DEFAULT NULL,
  `Password` varchar(129) DEFAULT NULL,
  `RegisterDate` varchar(36) DEFAULT NULL,
  `LoginDate` varchar(36) DEFAULT NULL,
  `IP` varchar(16) DEFAULT 'n/a',
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
MySQL ha dicho: Documentación

#1046 - Aucune base n'a été sélectionnée
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 28

La base de datos se llamaba scrp pero surgio un error y no me deja eliminarla, y para poder subirla nuevamente le puse scrr

SOLUCION:

Debes seleccionar la base de datos y luego si importar el archivo sql

FUENTE: http://pawnscript.com/foro/viewtopic.php?f=57&t=10843

COMO RECORRER TODOS LOS COMPONENTES DE UN FORM O UN PANEL

Lo mas fácil seria ir uno por uno haciendo el cambio deseado, si son unos pocos, no seria mucho problemas, pero cuando son muchos esto puede ser un engorro, pudiendo llevarnos a introducir errores en nuestros código.

Otra opción es ir recorriendo todos los componentes que están dentro de nuestro formulario y comprobar de que clase es, y si es del tipo que tenemos que hacer el cambio, entonces pasamos a hacérselo.

Esto lo podemos hacer de la siguiente forma:

Para saber cuantos componentes tiene nuestro formulario utilizaremos la opción “Controls”.  Este tiene varios parámetros que nos indican cuantos “controles” hay en nuestro formulario, el tipo, etc. Con esta información que nos facilita “Controls” podemos recorrer todos los componentes que hay.

foreach (Control cComprobar in fFormulario.Controls)
{
    // Codigo de control para el componente
}

Este código nos permite recorrer todos los controles que tenemos situados en nuestro formulario.

Ahora tenemos que saber de que tipo es el control, para ello solo tenemos que preguntárselo.

if (cComprobar is PictureBox) 
{
     // Si es del tipo que queremos lo procesamos
}

En este caso queremos saber si es un “PictureBox”, pero si queremos saber si es de otro tipo, por ejemplo, si queremos modificar un “TextBox”, cambiamos el “PictureBox” por “TextBox”. Y así según el tipo deseado.

Ejemplo:

foreach (Control cComponente in fFormulario.Controls)
{
    if (cComponente is PictureBox)
    {
        cComponente.Image = Image.FromFile(sNuevaImagen);
    }
}

Pero puede suceder que no a todos los componentes que tenenos en nuestro formulario queramos modificarlos. Para esto, yo me aprovecho de la opción “Tag” que tienen todos los controles. En esta opción podemos introducir  el texto que deseemos. Solo tengo que marcar todos los controles que no quiero modificar y cuando lo recorro comprobar que quiero cambiarlo.

if ((string)cComponente.Tag != "estono")
{
    // Este control si lo quiero modificar
}

y con esto ya podemos realizar cualquier cambio a nuestros controles, sin tener que repetir el código para cada unos de ellos.

Y tu, si utilizas otro método puedes compartirlo con nosotros, solo tienes que dejar un comentario.

Fuente original: https://www.todavianose.com/como-recorrer-todos-los-componentes-de-un-form-o-un-panel/

Mover y cambiar tamaños de controles en formularios en tiempo de ejecución

Entrando al siguiente codigo usando estas clases, nosotros podemos hacer que los controles se muevan y cambien de tamaño en tiempo de ejecucion con solo una linea de codigo:

Fuentes Originales:

https://www.codeproject.com/Tips/709121/Move-and-resize-controls-on-a-form-at-runtime-with

https://www.codeproject.com/Articles/31840/Move-controls-on-a-form-at-runtime

Otra manera de aumentar tamaño a paneles:

https://www.codeproject.com/Articles/13184/Runtime-resizable-controls

https://www.codeproject.com/Articles/17245/Runtime-Control-Resizer

Informacion valiosa, temas de interes y entretenimiento