none
COMO CERRAR UN WINDOWS FORMS SIN PERDER LOS CAMBIOS Y QUE AL ABRIRLO NUEVAMENTE ESTE TAL COMO SE CERRO RRS feed

  • Pregunta

  • Hola,
    me podria ayudar, ya que me atore un poco en este tema

    Tengo un form1 que es mi ventana principal, dentro de ella tengo un boton que al oprimirlo me aparece un form2 donde tengo botones, textbox, label, que yo los configuro dependiendo la situacion de mi form1,  el detalle esta que no quiero tener el form2 abierto entonces lo cierro pero si lo abro de nuevo aparace como un inicio y no se queda como lo deje antes de cerrarlo

    se podra hacer lo que quiero?       espero me puedan ayudar

    saludos

    Arturo Ruvalcaba

    viernes, 19 de junio de 2009 15:30

Respuestas

  • Hola como estas,

    Mira lo que puedes hacer es que el segundo formulario no se cierre, en vez de esto lo que debes hacer es ocultarlo, y desde el formulario 1 cuando quieras verlo de nuevo, no debes crearlo de nuevo, solo debes mostrarlo.

    Para ocultar el formulario 2 lo puedes lograr a través del método “Hide()” de la siguiente manera:

    this.Hide();

    Para volver a mostrar el formulario 2, desde el formulario 1 lo haces con el método “Show()”, ya que el método show muestra el formulario de nuevo, así los campos se muestran tal cual como los dejaste antes de ocultarlo, hazlo de la siguiente manera:

    form2.Show();

    Saludos,

    Julian Sanchez Microsoft Student Partner (MSP)
    DCE2005 + Platino
    http://juliansl.wordpress.com/
    domingo, 21 de junio de 2009 6:35
  • Hola como estas,

    Para lograr esto, debes hacer lo siguiente, agregas un control de tipo ProgressBar y otro de tipo NumericUpDown al formulario.

    Luego en el evento “ValueChanged” correspondiente al control “numericUpDown1” agregas la siguiente línea de código

    progressBar1.Value = Convert.ToInt32(numericUpDown1.Value);

    De esta manera cada vez que cabie el valor del control “numericUpDown1” el control “progressBar1” reflejara gráficamente el valor del control “numericUpDown1”.

    Ten en cuenta que los controles ProgressBar y NumericUpDown, tienen un propiedades “Minimum” que por defecto esta en 0 y otra “Maximum” que por defecto en 100. Para que las ajustes tal y como las necesites.

    Saludos, 


    Julian Sanchez
    Microsoft Student Partner (MSP)
    DCE2005 + Platino
    http://juliansl.wordpress.com/
    http://juliansanchezl.spaces.live.com/
    • Marcado como respuesta ponky8mx lunes, 22 de junio de 2009 17:28
    lunes, 22 de junio de 2009 2:50
  • Hola como estas,

    Para crear un ProgressBar Vertical lo que debes hacer es lo siguiente, Crea una nueva clase en tu proyecto con el nombre de “VerticalProgressBar.cs”, luego abres la clase y pegas las siguientes lineas de codigo.

    using System; 
    using System.Windows.Forms; 
    
    public class VerticalProgressBar : ProgressBar { 
      protected override CreateParams CreateParams { 
        get { 
          CreateParams cp = base.CreateParams; 
          cp.Style |= 0x04; 
          return cp; 
        } 
      } 
    }

    Luego compilas el proyecto, y abres la vista de diseño de tu formulario, luego notaras que en la parte superior del Toolbox aparece el control “VerticalProgressBar”, luego lo arrastras al formulario, y lo estiras para ponerlo más alto y menos ancho.
    Este control de usuario, se llena verticalmente de abajo hacia arriba y tiene las mismas propiedades del ProgressBar.

    Espero que el control te sirva para lo que necesitas.

    Saludos,


    Julian Sanchez
    Microsoft Student Partner (MSP)
    DCE2005 + Platino
    http://juliansl.wordpress.com/
    http://juliansanchezl.spaces.live.com/
    martes, 23 de junio de 2009 17:51
  • Hola como estas,

    La clase que te mencione que agregaras al proyecto es necesaria, porque lo que hace es crear un nuevo control de usuario que implementa todas las propiedades del ProgressBar solo que le añade un estilo que lo hace Vertical.

    Si seguiste bien los pasos es posible que el VerticalProgressBar ya se vea en el Toolbox cuando estás en la vista de diseño, lo que tienes que hacer es buscarlo, de igual manera  te dejo esta imagen donde puedes ver donde quedo alojado el Vertical progressbar.



    Saludos,
     

    Julian Sanchez
    Microsoft Student Partner (MSP)
    DCE2005 + Platino
    http://juliansl.wordpress.com/
    http://juliansanchezl.spaces.live.com/
    • Marcado como respuesta ponky8mx jueves, 25 de junio de 2009 3:52
    miércoles, 24 de junio de 2009 10:19

Todas las respuestas

  • Hola como estas,

    Mira lo que puedes hacer es que el segundo formulario no se cierre, en vez de esto lo que debes hacer es ocultarlo, y desde el formulario 1 cuando quieras verlo de nuevo, no debes crearlo de nuevo, solo debes mostrarlo.

    Para ocultar el formulario 2 lo puedes lograr a través del método “Hide()” de la siguiente manera:

    this.Hide();

    Para volver a mostrar el formulario 2, desde el formulario 1 lo haces con el método “Show()”, ya que el método show muestra el formulario de nuevo, así los campos se muestran tal cual como los dejaste antes de ocultarlo, hazlo de la siguiente manera:

    form2.Show();

    Saludos,

    Julian Sanchez Microsoft Student Partner (MSP)
    DCE2005 + Platino
    http://juliansl.wordpress.com/
    domingo, 21 de junio de 2009 6:35
  • gracias me fue de mucha utilidad


    Otra pregunta

    estoy haciendo un form1 donde tiene un NumericUPDown1 en la parte inferior, en la parte superior  quiero hacer una grafica de una solo columna tipo  un progressbar pero verticalmente donde cada que le de a mi NumericUPDown1 se refleje graficamente en mi columna (si  pongo 10 en la grafica se refleje 10)

    tengo dias tratando de hacerlo pero no e podido, soy primeriso en esto

    espero me puedas ayudar


    de antemano te agradesco  tu tiempo

    saludos

    Arturo Ruvalcaba
    lunes, 22 de junio de 2009 0:38
  • Hola como estas,

    Para lograr esto, debes hacer lo siguiente, agregas un control de tipo ProgressBar y otro de tipo NumericUpDown al formulario.

    Luego en el evento “ValueChanged” correspondiente al control “numericUpDown1” agregas la siguiente línea de código

    progressBar1.Value = Convert.ToInt32(numericUpDown1.Value);

    De esta manera cada vez que cabie el valor del control “numericUpDown1” el control “progressBar1” reflejara gráficamente el valor del control “numericUpDown1”.

    Ten en cuenta que los controles ProgressBar y NumericUpDown, tienen un propiedades “Minimum” que por defecto esta en 0 y otra “Maximum” que por defecto en 100. Para que las ajustes tal y como las necesites.

    Saludos, 


    Julian Sanchez
    Microsoft Student Partner (MSP)
    DCE2005 + Platino
    http://juliansl.wordpress.com/
    http://juliansanchezl.spaces.live.com/
    • Marcado como respuesta ponky8mx lunes, 22 de junio de 2009 17:28
    lunes, 22 de junio de 2009 2:50
  • Hola gracia por la respuesta me es de mucha utilidad

    como le hago para que el progressbar se vea verticalmente no horizontalmente como normalmente, ya que al usarlo el color inicia de izquierda a derecha y lo quiero es que se vea de abajo hacia arriba



    gracias por todo


    saludos

    Arturo Ruvalcaba
    lunes, 22 de junio de 2009 17:28
  • Hola como estas,

    Para crear un ProgressBar Vertical lo que debes hacer es lo siguiente, Crea una nueva clase en tu proyecto con el nombre de “VerticalProgressBar.cs”, luego abres la clase y pegas las siguientes lineas de codigo.

    using System; 
    using System.Windows.Forms; 
    
    public class VerticalProgressBar : ProgressBar { 
      protected override CreateParams CreateParams { 
        get { 
          CreateParams cp = base.CreateParams; 
          cp.Style |= 0x04; 
          return cp; 
        } 
      } 
    }

    Luego compilas el proyecto, y abres la vista de diseño de tu formulario, luego notaras que en la parte superior del Toolbox aparece el control “VerticalProgressBar”, luego lo arrastras al formulario, y lo estiras para ponerlo más alto y menos ancho.
    Este control de usuario, se llena verticalmente de abajo hacia arriba y tiene las mismas propiedades del ProgressBar.

    Espero que el control te sirva para lo que necesitas.

    Saludos,


    Julian Sanchez
    Microsoft Student Partner (MSP)
    DCE2005 + Platino
    http://juliansl.wordpress.com/
    http://juliansanchezl.spaces.live.com/
    martes, 23 de junio de 2009 17:51
  • Hola,

    ya lo hice tal como lo mencionas pero no e podido hacer que aparaesca en el toolbox el VerticalProgressBar , 

    que estare haciendo mal?   

    el .cs es necesario?


    saludos

    miércoles, 24 de junio de 2009 4:55
  • Hola como estas,

    La clase que te mencione que agregaras al proyecto es necesaria, porque lo que hace es crear un nuevo control de usuario que implementa todas las propiedades del ProgressBar solo que le añade un estilo que lo hace Vertical.

    Si seguiste bien los pasos es posible que el VerticalProgressBar ya se vea en el Toolbox cuando estás en la vista de diseño, lo que tienes que hacer es buscarlo, de igual manera  te dejo esta imagen donde puedes ver donde quedo alojado el Vertical progressbar.



    Saludos,
     

    Julian Sanchez
    Microsoft Student Partner (MSP)
    DCE2005 + Platino
    http://juliansl.wordpress.com/
    http://juliansanchezl.spaces.live.com/
    • Marcado como respuesta ponky8mx jueves, 25 de junio de 2009 3:52
    miércoles, 24 de junio de 2009 10:19
  • Hola,

    Me podrias ayudar a resolver este problema

    no e podido hacer que la siguiente formula me de el resultado en una label1, la formula es la siguiente:

    label1 =Y0+(Y1-Y0)/(X1-X0)*(X-X0)

    X0 = 200
    X1 = 700
    Y0 = 24.9
    Y1 = 23.75
    X = label2, este valor va estar variando
    los demas valores son constantes

    el valor de label1 estara cambiando (aplicando la formula) cada que cambie el valor de label2 (x)

    gracias por tu ayuda y tu tiempo

    saludos


    Arturo Ruvalcaba
    jueves, 2 de julio de 2009 0:29