none
Añadir controles en tiempo real y suscribir sus eventos de manera persistente RRS feed

  • Pregunta

  • Buenas,

    añadir los controles en tiempo de ejecucion ya lo tengo hecho, mi problema es como hacer que al arrancar mi app sigan apareciendo, y si los elimina el usuario no aparezcan, no se si me explico, es simplemente poder configurar una barra de herrramientas con mas o menos botones a gusto del usuario.

    lunes, 14 de diciembre de 2015 12:09

Todas las respuestas

  • Los controles por sí solos no pueden persistirse. Tienes que guardar en algún sitio (por ejemplo, en los Settings del proyecto) una lista de valores booleanos indicando qué controles deseas tener activados. Y luego, durante el arranque del programa, lees esa lista y construyes dinámicamente los controles que ahí se habían seleccionado. De esta manera, de cara al usuario, dará la sensación de que los controles de la barra de herramientas son persistentes, aunque en realidad se crean siempre en tiempo de ejecución.
    lunes, 14 de diciembre de 2015 12:21
  • Por lo tanto los eventos asociados a los botones (p/e) si que los tengo que tener ya programados y suscribirlos en caso de ser necesario entiendo.
    lunes, 14 de diciembre de 2015 12:37
  • Los manejadores de eventos deberían ya formar parte del código fuente. La suscripción del evento al manejador se hace sobre la marcha en el mismo momento de crear cada control en tiempo de ejecución, de la misma manera que se inicializan las Propiedades del control en el momento de crearlo:

    elControl.ElEvento += ElManejador;

    lunes, 14 de diciembre de 2015 13:37
  • Así lo tengo implementado, ahora me tengo otro problema,

    private void UpdateSetting(string key, bool value,RadButton nuevo)
            {
                switch (key)
                {
                    case "botonLimpiar":
                        {
                            Settings.Default["botonLimpiar"] = "True";
                            Settings.Default.Save();
                            nuevo.Click += new System.EventHandler(this.bClearPlot_Click);
                            break;
                        }
                }
            }

    no me guarda la configuración, ¿a que puede ser debido?

    lunes, 14 de diciembre de 2015 16:12