Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema con array de botones - VS 2008 - C#

Estas en el tema de Problema con array de botones - VS 2008 - C# en el foro de .NET en Foros del Web. Hola gente que tal. Necesitaba hacer un array de botones en c# e hice lo siguiente: Form1.Designer.cs Código: namespace Plataforma { partial class Form1 { ...
  #1 (permalink)  
Antiguo 01/06/2009, 17:34
 
Fecha de Ingreso: junio-2009
Mensajes: 3
Antigüedad: 14 años, 10 meses
Puntos: 0
Exclamación Problema con array de botones - VS 2008 - C#

Hola gente que tal. Necesitaba hacer un array de botones en c# e hice lo siguiente:

Form1.Designer.cs

Código:
namespace Plataforma
{
    partial class Form1
    {
        /// <summary>
        /// Variable del diseñador requerida.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        private System.Windows.Forms.Button[,] buttons;

        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        private void InitializeComponent()
        {
            this.buttons = new System.Windows.Forms.Button[7,7];
            this.SuspendLayout();
            
            // 
            // buttons
            // 
            int x = 0;
            int y = 0;
            for (int i = 0; i < 7; i++)
            {
                x = 0;
                y += 50;
                for (int j = 0; j < 7; j++)
                {
                    x += 50;
                    this.buttons[i,j] = new System.Windows.Forms.Button();
                    this.buttons[i,j].Location = new System.Drawing.Point(x, y);
                    this.buttons[i,j].Name = "button1";
                    this.buttons[i,j].Size = new System.Drawing.Size(50, 50);
                    this.buttons[i,j].TabIndex = 0;
                    this.buttons[i,j].Text = "button1";
                    this.buttons[i,j].UseVisualStyleBackColor = true;
                    this.Controls.Add(this.buttons[i,j]);
                }
            }

            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(479, 356);
            this.Name = "Form1";
            this.Text = "Form1";
            this.Load += new System.EventHandler(this.Form1_Load);
            this.ResumeLayout(false);

        }

        

    }
}
Cuando compilo me funciona de 10. Me muesta todos los botones en sus lugares perfectamente. Pero cuando entro al modo diseño (Form1.cs) me dice:

Código:
El diseñador no puede procesar el código en la línea 22: 

this.buttons = new System.Windows.Forms.Button[7,7];

El código del método 'InitializeComponent' se genera mediante el diseñador y no se debe modificar manualmente. Quite cualquier cambio realizado e intente abrir el diseñador de nuevo.
Igualmente funciona, pero no puedo acceder al modo diseño. Alguna solución?

Muchas gracias.

PD: PERDONEN PERO ME OLVIDÉ DE PONER EL TEMA EN NEGRITA.
  #2 (permalink)  
Antiguo 01/06/2009, 17:40
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Problema con array de botones - VS 2008 - C#

Pues copie tu codigo exactamente igual y el unico problema que veo es que el designer code se genera en automatico y al ser asi el diseniador de VS requiere implementar la interfaz grafica basado en instrucciones y controles definidos en las otras clases parciales y al usar reflection estoy seguro que el diseniador de VS requiere virtualizar algunas propiedades de tu form o control.

mi recomendacion mueve tu codigo al load de tu form y listo
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5

Última edición por Peterpay; 01/06/2009 a las 18:02
  #3 (permalink)  
Antiguo 01/06/2009, 18:03
 
Fecha de Ingreso: junio-2009
Mensajes: 3
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Problema con array de botones - VS 2008 - C#

Lo que hice ahora fue, cerrar todo y abrir un nuevo proyecto, pegar ese código en Form1.Designer.cs y me sigue apareciendo el error, te dejo un screen.

img19.imageshack.us/img19/4029/errorlki.jpg

Gracias

PD: No puse link directo porque no me deja
  #4 (permalink)  
Antiguo 01/06/2009, 18:21
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Problema con array de botones - VS 2008 - C#

si el error lo he visto, pero el problema radica en la forma de comportarse propio del designer de VS no de tu codigo, lo que debes hacer es mover ese codigo al evento Load de tu form y ya no tendras problemas para seguir haciendo drag and drop de controles a tu form en el designer view.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 01/06/2009, 18:24
 
Fecha de Ingreso: junio-2009
Mensajes: 3
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Problema con array de botones - VS 2008 - C#

Es lo que me imaginé, el problema es que no puedo visualizar los botones en el modo diseño, pero bueno, nada es perfecto.
Gracias

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:29.