shown - Restablecer los elementos de un winform al estado inicializado(C#/. Net)
variables globales entre formularios c# (2)
Podría intentar llamar this.InitializeComponent (), que puede ser el truco. Alternativamente, si su aplicación tiene un formulario de "Selección de directorio" y un formulario de "Archivos de proceso", puede hacer que el formulario de Selección de directorio haga una "nueva" en el formulario Archivos de proceso, que debe devolverlo a su estado original (no mientras abierto, sin embargo).
Estoy construyendo un winform en C # con varios elementos en un panel que comienzan como invisibles, deshabilitados o configurados como nulos (etiquetas, cuadros combinados, cuadrículas, etc.). A medida que el usuario realiza y realiza elecciones, estos elementos se completan, seleccionan, etc.
La idea es cargar archivos, leerlos y procesar entradas en una base de datos. Una vez que se haya completado el procesamiento para este directorio, me gustaría que el usuario pueda seleccionar otro directorio sin salir y reiniciar la aplicación winform, al presionar un botón que se vuelve visible cuando el proceso se ha completado.
¿Existe una llamada fácil para restablecer la aplicación (o el panel que contiene los elementos), similar a cuando se actualiza un formulario web, o tengo que escribir una función que "restablece" todos esos elementos de a uno por vez?
EDITAR: como resultado de una reunión de desarrollo, mi proyecto ha cambiado de dirección. Les agradezco a los dos que ayudaron con las respuestas, y voy a cerrar la pregunta.
Simple eliminar panel del formulario y crear el nuevo.
EDITAR: Muestra:
Panel CreatePanelWithDynamicControls() {
Panel ret = new Panel();
ret.Dock = DockStyle.Fill;
// some logic, which initialize content of panel
return ret;
}
void InitializeDynamicControls() {
this.Controls.Clear();
Panel pnl = this.CreatePanelWithDynamiControls();
this.Controls.Add( pnl );
}
void Form1_Load( object sender, EventArgs e ) {
if ( !this.DesignMode ) {
this.InitializeDynamicControls();
}
}
// I don''t know exactly, on which situation
// do you want reset controls
void SomeEvent( object sender, EventArgs e ) {
this.InitializeDynamicControls();
}