none
dudilla simple RRS feed

  • Pregunta


  • Hola a todos,tenia una pequeña duda, se que es algo simple pero no me sale. En mi aplicación de c# tengo un drawing control, que añado arrastrando de la barra de herramientas a mi form, pero queria saber como puedo llamar a este drawin control sin arrastralo, es decir, programando.Mi duda en general es como llamar a los componentes de la barra de herramientas sin tener que arrastrarlos, desde mi aplicacion concodigo directamente. Muchas gracias a todos.
    martes, 17 de junio de 2008 18:20

Respuestas

  • Saludos Fran25.,

     

    En C# para instanciar un control se puede define:

     

    Alcance de la variable (public, private ...),

    La Clase del control (DataGridView, TextBox, ComboBox ...)

    El nombre de la instancia (dataGridView1, textBox1, comboBox1, ...)

     

    opcionalmente en la misma linea se puede instanciar (iniciar la variable) la Clase con el metodo new.

     

    private DataGridView dataGridView1 = new DataGridView();

     

    acto seguido indicamos la posicion en la que queremos visualizar el control

     

    dataGridView1.Location = new Point(10, 10);

     

    de la misma forma otras propiedades como (.Name, .Index , .Size ...) 

     

    finalmente tenemos que meter el control (o controles) dentro de la coleccion de controles del Form

     

    this.Controls.Add(this.dataGridView1);

     

    en este caso this hace referencia al Form sobre el que se estan instanciando los controles.

     

    Como sugerencia le recomiendo que le de una mirada al Form1.Designer.cs (Ojo por el momento no modifique nada en este archivo) aqui podra ver que Visual Studio implemente por si mismo este procedimiento:

     

    Declara las variables:

    private System.Windows.Forms.DataGridView dataGridView1;

     

    luego en el metodo InitializeComponent() inicializa variables definiendo sus propiedades y localizacion y las agrega a la coleccion

     

    private void InitializeComponent()

    {

    this.dataGridView1 = new System.Windows.Forms.DataGridView();

    //

    // dataGridView1

    //

    this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;

    this.dataGridView1.Location = new System.Drawing.Point(12, 12);

    this.dataGridView1.Name = "dataGridView1";

    this.dataGridView1.Size = new System.Drawing.Size(240, 150);

    this.dataGridView1.TabIndex = 1;

    //

    // Form1

    //

    .

    .

    this.Controls.Add(this.dataGridView1);

    .

    .

    .

    }

     

    Muchos exitos en sus lavores.

     

    Oscar A Medina S - Colombia

     

    (No olviden calificar los temas, esto ayuda al buen uso del foro)

    viernes, 27 de junio de 2008 13:21

Todas las respuestas

  • Saludos Fran25.,

     

    En C# para instanciar un control se puede define:

     

    Alcance de la variable (public, private ...),

    La Clase del control (DataGridView, TextBox, ComboBox ...)

    El nombre de la instancia (dataGridView1, textBox1, comboBox1, ...)

     

    opcionalmente en la misma linea se puede instanciar (iniciar la variable) la Clase con el metodo new.

     

    private DataGridView dataGridView1 = new DataGridView();

     

    acto seguido indicamos la posicion en la que queremos visualizar el control

     

    dataGridView1.Location = new Point(10, 10);

     

    de la misma forma otras propiedades como (.Name, .Index , .Size ...) 

     

    finalmente tenemos que meter el control (o controles) dentro de la coleccion de controles del Form

     

    this.Controls.Add(this.dataGridView1);

     

    en este caso this hace referencia al Form sobre el que se estan instanciando los controles.

     

    Como sugerencia le recomiendo que le de una mirada al Form1.Designer.cs (Ojo por el momento no modifique nada en este archivo) aqui podra ver que Visual Studio implemente por si mismo este procedimiento:

     

    Declara las variables:

    private System.Windows.Forms.DataGridView dataGridView1;

     

    luego en el metodo InitializeComponent() inicializa variables definiendo sus propiedades y localizacion y las agrega a la coleccion

     

    private void InitializeComponent()

    {

    this.dataGridView1 = new System.Windows.Forms.DataGridView();

    //

    // dataGridView1

    //

    this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;

    this.dataGridView1.Location = new System.Drawing.Point(12, 12);

    this.dataGridView1.Name = "dataGridView1";

    this.dataGridView1.Size = new System.Drawing.Size(240, 150);

    this.dataGridView1.TabIndex = 1;

    //

    // Form1

    //

    .

    .

    this.Controls.Add(this.dataGridView1);

    .

    .

    .

    }

     

    Muchos exitos en sus lavores.

     

    Oscar A Medina S - Colombia

     

    (No olviden calificar los temas, esto ayuda al buen uso del foro)

    viernes, 27 de junio de 2008 13:21
  • :-)

    Hola Fran,

     

    Cuando arrastras un control sobre el formulario, el propio editor de Visual Studio genera un fichero llamado 'FormX.Designer.cs' con el código que deseas ver. Dale un vistazo al contenido de este fichero y verás como se hace exactamente.

     

    Saludos,

     

    lunes, 30 de junio de 2008 9:55
    Moderador
  • :-)

    Mil disculpas, no me había fijado en que Oscar ya te lo había mencionado en su post.

    Eso me pasa por leer demasiado rápido... :-P

     

    lunes, 30 de junio de 2008 9:57
    Moderador
  • Muchas gracias a todos por leerlo y ayudarme, probaré haber y ya os dire.Salud a todos.Ah, CAMPEOONESS.

    miércoles, 2 de julio de 2008 10:25