none
El bug soy yo? RRS feed

  • Pregunta

  • He intentado crear un control de usuario winform con visual studio 2012, pero en un momento decidí quitar unos elementos que había puesto en el diseñador. Luego de eso resulta que en el diseñador no se muestran los controles, es decir, la ventana esta sin controles, tal como yo quería, pero en la función InitializeComponent() sigue el código de los controles que el diseñador crea automáticamente.

    No se si esto se debe a algún bug de visual studio 2012 o si por el contrario el bug soy yo.

    Agradezco la ayuda que me puedan prestar.

    Saludos,

    martes, 3 de junio de 2014 19:25

Todas las respuestas

  • hola

    validaste que en el constructor (tienes que tener un constructor sin parametros) del control se este invocando a InitializeComponent() ?

    sino se invoca no se veran los controles en la pantalla

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 3 de junio de 2014 21:36
  • Aqui esta tu solucion :D

    http://msdn.microsoft.com/es-es/library/ms171926.aspx

    saludos! :D

    martes, 3 de junio de 2014 22:10
  • Gracias Leandro Tuttini y j0ker2014

    He revisado ambas propuestas pero no logro resolver el problema, haré una mayor descripción con la intención de dar luces que puedan resolver mi error:


    ***** Archivo: frmConfigurarParametro.cs *****

    using System;
    using System.Globalization;
    using System.Windows.Forms;

    namespace ecoControles
    {
        public partial class frmConfigurarParametro : Form
        {

            public frmConfigurarParametro()
            {
                InitializeComponent();            
                
            }
        }
    }


    ****** Archivo: frmConfigurarParametro.Designer.cs ******

    namespace ecoControles
    {
        partial class frmConfigurarParametro
        {
            /// <summary>
            /// Required designer variable.
            /// </summary>
            private System.ComponentModel.IContainer components = null;

            /// <summary>
            /// Clean up any resources being used.
            /// </summary>
            /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }

            #region Windows Form Designer generated code

            /// <summary>
            /// Required method for Designer support - do not modify
            /// the contents of this method with the code editor.
            /// </summary>
            private void InitializeComponent()
            {
                this.checkNumerosNegativos = new System.Windows.Forms.CheckBox();
                this.checkCerosObligatorios = new System.Windows.Forms.CheckBox();
                this.lblConfiguracionBasica = new System.Windows.Forms.Label();
                this.lblNumeroMaximoDeDecimales = new System.Windows.Forms.Label();
                this.lblConfiguracionNumeroMaximoDeEnteros = new System.Windows.Forms.Label();
                this.rdbReal = new System.Windows.Forms.RadioButton();
                this.rdbEntero = new System.Windows.Forms.RadioButton();
                this.SuspendLayout();
                //
                // checkNumerosNegativos
                //
                this.checkNumerosNegativos.AutoSize = true;
                this.checkNumerosNegativos.Location = new System.Drawing.Point(373, 49);
                this.checkNumerosNegativos.Name = "checkNumerosNegativos";
                this.checkNumerosNegativos.Size = new System.Drawing.Size(226, 24);
                this.checkNumerosNegativos.TabIndex = 26;
                this.checkNumerosNegativos.Text = "Permitir números negativos";
                this.checkNumerosNegativos.UseVisualStyleBackColor = true;
                //
                // checkCerosObligatorios
                //
                this.checkCerosObligatorios.AutoSize = true;
                this.checkCerosObligatorios.Location = new System.Drawing.Point(512, 309);
                this.checkCerosObligatorios.Name = "checkCerosObligatorios";
                this.checkCerosObligatorios.Size = new System.Drawing.Size(162, 24);
                this.checkCerosObligatorios.TabIndex = 25;
                this.checkCerosObligatorios.Text = "Ceros obligatorios";
                this.checkCerosObligatorios.UseVisualStyleBackColor = true;
                //
                // lblConfiguracionBasica
                //
                this.lblConfiguracionBasica.AutoSize = true;
                this.lblConfiguracionBasica.Location = new System.Drawing.Point(353, 99);
                this.lblConfiguracionBasica.Name = "lblConfiguracionBasica";
                this.lblConfiguracionBasica.Size = new System.Drawing.Size(341, 20);
                this.lblConfiguracionBasica.TabIndex = 23;
                this.lblConfiguracionBasica.Text = "1. Configuración básica del formato del número";
                //
                // lblNumeroMaximoDeDecimales
                //
                this.lblNumeroMaximoDeDecimales.AutoSize = true;
                this.lblNumeroMaximoDeDecimales.Location = new System.Drawing.Point(354, 282);
                this.lblNumeroMaximoDeDecimales.Name = "lblNumeroMaximoDeDecimales";
                this.lblNumeroMaximoDeDecimales.Size = new System.Drawing.Size(349, 20);
                this.lblNumeroMaximoDeDecimales.TabIndex = 22;
                this.lblNumeroMaximoDeDecimales.Text = "3. Número máximo de digitos en la parte decimal";
                //
                // lblConfiguracionNumeroMaximoDeEnteros
                //
                this.lblConfiguracionNumeroMaximoDeEnteros.AutoSize = true;
                this.lblConfiguracionNumeroMaximoDeEnteros.Location = new System.Drawing.Point(353, 207);
                this.lblConfiguracionNumeroMaximoDeEnteros.Name = "lblConfiguracionNumeroMaximoDeEnteros";
                this.lblConfiguracionNumeroMaximoDeEnteros.Size = new System.Drawing.Size(341, 20);
                this.lblConfiguracionNumeroMaximoDeEnteros.TabIndex = 20;
                this.lblConfiguracionNumeroMaximoDeEnteros.Text = "2. Número máximo de digitos en la parte entera";
                //
                // rdbReal
                //
                this.rdbReal.AutoSize = true;
                this.rdbReal.Location = new System.Drawing.Point(373, 152);
                this.rdbReal.Name = "rdbReal";
                this.rdbReal.Size = new System.Drawing.Size(56, 24);
                this.rdbReal.TabIndex = 19;
                this.rdbReal.Text = "0.0";
                this.rdbReal.UseVisualStyleBackColor = true;
                //
                // rdbEntero
                //
                this.rdbEntero.Location = new System.Drawing.Point(373, 122);
                this.rdbEntero.Name = "rdbEntero";
                this.rdbEntero.Size = new System.Drawing.Size(104, 24);
                this.rdbEntero.TabIndex = 18;
                //
                // frmConfigurarParametro
                //
                this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                this.ClientSize = new System.Drawing.Size(748, 398);
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
                this.Name = "frmConfigurarParametro";
                this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
                this.ResumeLayout(false);

            }

            #endregion

            private System.Windows.Forms.CheckBox checkNumerosNegativos;
            private System.Windows.Forms.CheckBox checkCerosObligatorios;
            private System.Windows.Forms.Label lblConfiguracionBasica;
            private System.Windows.Forms.Label lblNumeroMaximoDeDecimales;
            private System.Windows.Forms.Label lblConfiguracionNumeroMaximoDeEnteros;
            private System.Windows.Forms.RadioButton rdbReal;
            private System.Windows.Forms.RadioButton rdbEntero;
        }
    }


    ***** Archivo: frmConfigurarParametro.cs[Disño] *****

    Debido a que por ahora no puedo cargar imágenes, me permito describir la imagen de la ventana.

    Es una ventana que no contiene controles, solo una barra para el título y un botón rojo con una x en el extremo superior derecho para cerrarla.

    Si inicio la depuración (f5) el proyecto no genera ningún error y se muestra el control de usuario como una ventana vacia.

    Por conocer mas de la herramienta quisiera saber: ¿Por que después de borrar los controles de la ventana aún siguen representados como código en el método InitializeComponent()? y, para resolver el problema ahora y en futuras oportunidades: ¿cómo elimino el código que se resiste a ser borrado por el diseñador?.

    Ya probé, sin éxito, las opciones limpiar y recompilar del menú compilar.

    He leído que no se debe modificar manualmente el código que ha generado el diseñador, así que realmente no se que debo hacer.


    Gracias,


    miércoles, 4 de junio de 2014 1:11