• Domingo 22 de Diciembre de 2024, 13:49

Autor Tema:  creacion de dll  (Leído 3108 veces)

picyo

  • Visitante
creacion de dll
« en: Domingo 27 de Noviembre de 2011, 18:11 »
0
holaestoy creando una dll mediante proyecto de libreria. Quiero probar mis propias clases pero desde una dll, para demas proyectos.

1. tengo la dll creada:
Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;

namespace Clases_propias
{
    public class ClasePersona
    {
        public int Edad;
        public string Nombre;
        private string Apellido;
        public ClasePersona() //Constructor personalizado
{
Nombre = "";
Apellido = "";

}
}
si es muy sencillita,pero lo que quiero es simplemente añadirla a un proyecto nuevo
2. cro un proyecto windows forms cualquiera, y añado esa libreria creada:
Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ClasesPropias;

namespace UsoDeClasePropia
{
    // instanciar y declarar objeto de mi clase
    ClasePersona Persona1;
    Persona1= new ClasePersona();
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}
tambien, en el solution explorer, añado la referencia demi clase ( añado desde el browser la dll)
y se fastidio la cosa, no reconoce mi libreria, salen estos mensajes:
Citar
E:\Proyectos_carpeta_seguridad\Visual C#\Mis cosas\UsoDeClasePropia\UsoDeClasePropia\Form1.cs(14,5): error CS0116: A namespace does not directly contain members such as fields or methods
Citar
    E:\Proyectos_carpeta_seguridad\Visual C#\Mis cosas\UsoDeClasePropia\UsoDeClasePropia\Form1.cs(15,19): error CS1518: Expected class, delegate, enum, interface, or struct
no se que hago mal

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re:creacion de dll
« Respuesta #1 en: Domingo 4 de Diciembre de 2011, 21:38 »
0
Hola Picyo, disculpa por no haber contestado antes, pero no he entrado al foro por causa de mi trabajo.

Bueno, revisando tu codigo, te dire que tiene los siguientes errores:

1. En el primer bloque te falta cerrar una llave, tienes 3 llaves "{", pero solo dos "}", agrega la que te falta

2. El nombre de tu namespace esta equivocado, en el primer bloque es Clases_propias y en el segundo bloque ClasesPropias, debe ser igual en los dos bloques, ya sea que corrijas el primero o el segundo, en los dos se debe escribir exactamente igual, respetando guiones, mayuscula y minusculas.

3. En el segundo bloque, la definicion y asignacion de tu variable miembro se encuentran fuera de la clase, la definicion debe ir dentro de la clase, y la asignacion dentro de un metodo, de hecho el error que mencionas lo dice claramente:

Citar
A namespace does not directly contain members such as fields or methods

Traducido:

Citar
Un namespace no contiene directamente miembros como campos (las variables miembro se consideran campos) o metodos


O sea que tu codigo debe quedar asi:

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ClasesPropias;

namespace UsoDeClasePropia
{
    // instanciar y declarar objeto de mi clase
    public partial class Form1 : Form
    {
        // Definicion de tu variable miembro Persona1
        // dentro de la clase Form1
        ClasePersona Persona1;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Asignacion de tu variable Miembro
            // dentro del metodo Form1_Load
            Persona1 = new ClasePersona();

        }
    }
}

Saludos y suerte :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

picyo

  • Visitante
Re:creacion de dll
« Respuesta #2 en: Lunes 5 de Diciembre de 2011, 22:54 »
0
Hola! Bueno al final si, me di cuenta. Estoy creando mi clase Persona, y su clase derivada Estudiante. Las qhe creado en una dll. La razón era porquer siempre usaba elmismo tipo de documento ( windows forms) y queria usar en una dll. Estoy haciendo ademas, una aplicación del uso de mi libreria Persona ( asi la llamo). De momento voy un poco perdido, en cuanto la aplicación...que eslo que quiero y cómo hacerlo. Bueno lo que si que se que quiero es crear ( de momento) un esqueleto de la aplicación, donde un usuario pueda crear entre un nuevo alumno o una nueva persona ( si, los dos son personas...pero es mas con finalidad de usar mis clases :p ). De momento llevo hecho esto, mañana seguiré, que hay fiesta pro aqui :)


**************************LibreriaPersonas************************
**************************************************************
Libreria ( 2 clases de momento) dentro de una dll. para hacer la dll es simple ( C#), se crea proyecto de librería y se ha de tener en cuenta no cambiar namespaces de lo que se va a usar ( tuve ese error al principio!)
Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LibreriaPersonas
{
    public  class  Persona

        string nombre = ""; 
        string apellido = "";
        string direccion = "";

        public  Persona()// el constructor de momento sera "nulo",
                               //ya que la persona la definira el usuario
        {
            /*this.nombre = nombre;
            this.apellido = apellido;
            this.direccion = direccion;*/
        }

        //public void  DatosPersona (string nombre,string apellido, string direccion)
        public void DatosPersona(string nombre)
        {
           
       

        }

    }
    ////* Clases hija que heredan de la padre class Persona *////
 


    public class Alumno : Persona
    {
       
        string asignatura = "";

        public Alumno()
                     
        {
          //this.asignatura = asignatura;
        }

       
    }
}


Citar
Form1.cs

Aplicación de esa libreria anterior. Pretendo hacer un esqueleto de aplicación paraagregar alumnos y/o personas ( los slumnso son personas, si..pero específicos..:P). Para  usar la dll, en referencias ( dentro de Solution Explorer/Preferences) añadir ( browser) la dll anterior.

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using LibreriaPersonas;

namespace UsoDeLibreriaPersonas
{
    public partial class Form1 : Form
    {
       
        public Form1()
        {
            InitializeComponent();
        }




        private void comboBoxDinamico_SelectedIndexChanged(object sender, EventArgs e)
        {
            string nombreAux,apellidoAux,direccionAux;
            switch (comboBoxDinamico.Text)
            {
                case "Nombre": //MessageBox.Show("Teclea nombre");
                    VentanaDatosPersona.Visible = true;
                    VentanaDatosPersona.Focus();
                    nombreAux = comboBoxDinamico.Text;
                    VentanaPersona ventanaEscribeDatosPersona = new VentanaPersona();
                    ventanaEscribeDatosPersona.EscribeDatosPersona(nombreAux);


                    break;
                case "Apellido":
                    VentanaDatosPersona.Visible = true;
                    VentanaDatosPersona.Focus();
                    apellidoAux = comboBoxDinamico.Text;
                    break;
                case "Edad":
                    VentanaDatosPersona.Visible = true;
                    VentanaDatosPersona.Focus();
                    direccionAux = comboBoxDinamico.Text;
                    break;

                default: MessageBox.Show("por defecto");
                    break;
            }
        }


        private void NuevaPersona_Click(object sender, EventArgs e)
        {
            persona1= new Persona();           
            short incrementaPersona;
            ComboBox comboBoxDinamico = new ComboBox();
            this.Controls.Add(this.comboBoxDinamico);
            this.comboBoxDinamico.SelectedIndexChanged += new System.EventHandler(this.comboBoxDinamico_SelectedIndexChanged);

           



           
        }

     
       
    }
}

Citar
VentanaPersona.cs
Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using LibreriaPersonas;



namespace UsoDeLibreriaPersonas
{
   
    class VentanaPersona
    {
        private System.Windows.Forms.TextBox CajaTextoMuestraPersona;
        private void InitializeComponent()
        {   
           
            TextBox CajaTextoMuestraPersona = new TextBox();
            //
            // CajaTextoMuestraPersona
            //                   
            this.CajaTextoMuestraPersona.Location = new System.Drawing.Point(200, 61);
            this.CajaTextoMuestraPersona.Name = "CajaTextoMuestraPersona";
            this.CajaTextoMuestraPersona.Size = new System.Drawing.Size(100, 20);
            this.CajaTextoMuestraPersona.TabIndex = 4;
            this.CajaTextoMuestraPersona.Visible = true;
             
        }       
        public VentanaPersona()
        {
        }

        public void EscribeDatosPersona(string Nombre, string Apellido, string Edad)
        {
            string vpNombre;
            string vpApellido;
            string vpEdad;
            vpNombre = Nombre;
            vpApellido = Apellido;
            vpEdad= Edad;
       
        }

        public void EscribeDatosPersona(string Nombre)
        {
            string vpNombre;           
            vpNombre = Nombre;
           

        }

Citar
Form1.Designer.cs
Código: [Seleccionar]
namespace UsoDeLibreriaPersonas
{
    partial class Form1
    {
        /// <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.menuStrip1 = new System.Windows.Forms.MenuStrip();
            this.toolStripMenuItemNuevo = new System.Windows.Forms.ToolStripMenuItem();
            this.toolStripMenuItemNuevaPersona = new System.Windows.Forms.ToolStripMenuItem();
            this.toolStripMenuItemNuevoAlumno = new System.Windows.Forms.ToolStripMenuItem();
            this.comboBoxDinamico = new System.Windows.Forms.ComboBox();
            this.VentanaDatosPersona = new System.Windows.Forms.TextBox();
            this.menuStrip1.SuspendLayout();
            this.SuspendLayout();
            //
            // menuStrip1
            //
            this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.toolStripMenuItemNuevo});
            this.menuStrip1.Location = new System.Drawing.Point(0, 0);
            this.menuStrip1.Name = "menuStrip1";
            this.menuStrip1.Size = new System.Drawing.Size(284, 24);
            this.menuStrip1.TabIndex = 0;
            this.menuStrip1.Text = "menuStrip1";
            //
            // toolStripMenuItemNuevo
            //
            this.toolStripMenuItemNuevo.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.toolStripMenuItemNuevaPersona,
            this.toolStripMenuItemNuevoAlumno});
            this.toolStripMenuItemNuevo.Name = "toolStripMenuItemNuevo";
            this.toolStripMenuItemNuevo.Size = new System.Drawing.Size(54, 20);
            this.toolStripMenuItemNuevo.Text = "Nuevo";
            //
            // toolStripMenuItemNuevaPersona
            //
            this.toolStripMenuItemNuevaPersona.Name = "toolStripMenuItemNuevaPersona";
            this.toolStripMenuItemNuevaPersona.Size = new System.Drawing.Size(155, 22);
            this.toolStripMenuItemNuevaPersona.Text = "Nueva Persona";
            this.toolStripMenuItemNuevaPersona.Click += new System.EventHandler(this.NuevaPersona_Click);
            //
            // toolStripMenuItemNuevoAlumno
            //
            this.toolStripMenuItemNuevoAlumno.Name = "toolStripMenuItemNuevoAlumno";
            this.toolStripMenuItemNuevoAlumno.Size = new System.Drawing.Size(155, 22);
            this.toolStripMenuItemNuevoAlumno.Text = "Nuevo Alumno";
            //
            // comboBoxDinamico
            //
            this.comboBoxDinamico.FormattingEnabled = true;
            this.comboBoxDinamico.Items.AddRange(new object[] {
            "Nombre",
            "Apellido",
            "Edad"});
            this.comboBoxDinamico.Location = new System.Drawing.Point(20, 61);
            this.comboBoxDinamico.Name = "comboBoxDinamico";
            this.comboBoxDinamico.Size = new System.Drawing.Size(121, 21);
            this.comboBoxDinamico.TabIndex = 3;
            //
            // VentanaDatosPersona
            //
            this.VentanaDatosPersona.Location = new System.Drawing.Point(154, 61);
            this.VentanaDatosPersona.Name = "VentanaDatosPersona";
            this.VentanaDatosPersona.Size = new System.Drawing.Size(100, 20);
            this.VentanaDatosPersona.TabIndex = 4;
            this.VentanaDatosPersona.Visible = false;
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(284, 262);
            this.Controls.Add(this.menuStrip1);
            this.Controls.Add(this.VentanaDatosPersona);
            this.MainMenuStrip = this.menuStrip1;
            this.Name = "Form1";
            this.Text = "Uso de dll para nombres";
            this.menuStrip1.ResumeLayout(false);
            this.menuStrip1.PerformLayout();
            this.ResumeLayout(false);
            this.PerformLayout();

        }


        #endregion

        private System.Windows.Forms.MenuStrip menuStrip1;
        private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemNuevo;
        private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemNuevaPersona;
        private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemNuevoAlumno;
        private LibreriaPersonas.Persona persona1;
        private LibreriaPersonas.Alumno alumno1;
        private System.Windows.Forms.ComboBox comboBoxDinamico;
        private System.Windows.Forms.TextBox VentanaDatosPersona;


        //private System.Windows.Forms.TextBox CajaTextoMuestraPersona;
       
       
    }
}

« última modificación: Martes 6 de Diciembre de 2011, 03:47 por ProfesorX »

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re:creacion de dll
« Respuesta #3 en: Martes 6 de Diciembre de 2011, 03:49 »
0
Publicaste tu codigo, pero me queda la pregunta ¿cual es tu duda en este caso? ¿te marca algun error? ¿o que problema tienes con esto?

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

picyo

  • Visitante
Re:creacion de dll
« Respuesta #4 en: Martes 6 de Diciembre de 2011, 16:10 »
0
Hola Profesor X!
No,no tengo duda...aún simplemente aun hay cosas que no van como quiero, pero es mas porque aun no está exactamente en mi cabeza lo que quiero hacer ( y cómo).
He creado un proyecto de dll, para que otras clases ( otros proyectos) la puedan usar, y pretendo -mediante mis propios ejercicios- crear un programa de escritorio en el que el usuario pueda añadir una persona ( por ejemplo, profesor, padre...) y un alumno a su " agenda de seguimiento", con las notas, etc. Se que aún me falta teoria, ya que no se nada de bases de datos ( aún), es por eso que estoy tratando de hacer un esqueleto, que es posible que vaya cambiando.
Como lo hago de " cero" , es decir, sin saber demasiado C#, y he visto que hay gente que va leiendo el post ( un último usuario crreo que ha querido incluir una clase hecha por mi en su proyecto de Visual Basic) me gustaría que otros/as que estén en mi situación partieran de aqui, y si cabe, modificaran el programa. A veces a mi me pasa esepunto de "¿Cómo empiezo?" , y este podria ser un post para los que quieran empezar algo asi.
Sólo es por poner mi granito de arena, desde el poco conociemiento que tengo del lenguaje, ya me sentia algo culpable de solo preguntar.
:)
Espero no tardar demasido en avanzar el post! ( aunque sea a base de preguntas :D)

picyo

  • Visitante
Re:creacion de dll
« Respuesta #5 en: Miércoles 14 de Diciembre de 2011, 16:55 »
0
Hola! He seguido haciendo un poquito ese ejemplo, y bueno, os comento. El programa lo que me hace es que el usuario ingrese una persona ( en menú nuevo) y a esa persona le asignamos el nombre, apellido y la edad ( correspondientes a la clase persona guardada en la dll). Bien, aun no lo he hecho, pero quiero guardar "x"número de personas en un array de strings. Mi problema es que cuando el usuario acaba de meter los datos de una persona, y al presionar el botón de Ok:

- El texto escrito en pantalla desaparece ( eso sale correcto)
- El usuario se dispone a entrar una nueva persona.

Pues bien, aqui es donde no sucede nada ( no se crea una nueva persona) a pesar que existe un delegado para crearla, y creo que está relacionado por el primer punto, el cómo hago desaparecer el texto, y los controles de la pantalla

Bueno, pongo directamente el código:
form1.cs
Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using LibreriaPersonas;

namespace UsoDeLibreriaPersonas
{
    public partial class Form1 : Form
    {
       int indice=0;
       int i=0;
       int j=0;
       int[,] IndiceMatriz ;
       string[,] GuardaPersonas;
       
     
       
        public Form1()
        {
            InitializeComponent();
           
            VentanaDatosPersona.KeyDown += new System.Windows.Forms.KeyEventHandler(VentanaDatosEscritos);
            GuardaPersonas = new string[5, 3];  // personas y sus 3 campos
            IndiceMatriz = new int[i, j];


        }



       
        private void VentanaDatosEscritos(object sender, KeyEventArgs e)
        {
            bool nom = false;
            bool apell = false;
            bool ed = false;
           


           if (e.KeyValue == Convert.ToChar('\r')) {

               switch (this.comboBoxDinamico.Text)
               {
                   case "Nombre":
                       this.comboBoxDinamico.Items.Remove("Nombre");                       
                       break;
                   case "Apellido":
                       this.comboBoxDinamico.Items.Remove("Apellido");
                       break;
                   case "Edad":
                       this.comboBoxDinamico.Items.Remove("Edad");
                       break;
               }

               




               
                switch (indice)
                {
                    case 0 :
                        while (!nom )
                        {                           
                            textBox1.Text += "Nombre:" + VentanaDatosPersona.Text + "\r" + "\n";                           
                            textBox1.Visible = true;
                            GuardaPersonas[i, j] = VentanaDatosPersona.Text;                           
                            VentanaDatosPersona.Text = "";
                            j++;
                            indice++;
                            nom = true;
                        }
                        break;
                    case 1:
                        while(!apell)
                        {
                        textBox1.Text += "Apellido:" + VentanaDatosPersona.Text + "\r" + "\n";
                        GuardaPersonas[i, j] = VentanaDatosPersona.Text;
                        VentanaDatosPersona.Text="";
                        indice++;
                        j++;                       
                        apell = true;
                        }
                        break;
                    case 2:
                        while (!ed)
                        {
                            textBox1.Text += "Edad:" + VentanaDatosPersona.Text + "\r" + "\n";
                            GuardaPersonas[i, j] = VentanaDatosPersona.Text;
                            VentanaDatosPersona.Text = "";
                            indice++;
                            j = 0;
                            ed = true;
                        }
                        MessageBox.Show(GuardaPersonas[0, 0]);
                        MessageBox.Show(GuardaPersonas[0, 1]);
                        MessageBox.Show(GuardaPersonas[0, 2]);
                        this.botonOK.Visible = true;
                        break;
                       
               
                }
                         
             
     
                       
            }           
       
        }

       
        private void comboBoxDinamico_SelectedIndexChanged(object sender, EventArgs e)
        {
            string apellidoAux,direccionAux;
            VentanaDatosPersona.Visible = true;
           
            switch (comboBoxDinamico.Text)
            {
                case "Nombre": //MessageBox.Show("Teclea nombre");
                    VentanaDatosPersona.Visible = true;
                    VentanaDatosPersona.Focus();
                    nombreAux = comboBoxDinamico.Text;
                    break;
                   

                case "Apellido":                   
                    VentanaDatosPersona.Visible = true;
                    VentanaDatosPersona.Focus();
                    apellidoAux = comboBoxDinamico.Text;                   
                    break;

                case "Edad":
                    VentanaDatosPersona.Visible = true;
                    VentanaDatosPersona.Focus();
                    direccionAux = comboBoxDinamico.Text;                   
                    break;

                default: MessageBox.Show("por defecto");
                    break;
            }
             
        }
       
        private void RehacerComponentes()
        {
            //
            // comboBoxDinamico
            //
            this.comboBoxDinamico.FormattingEnabled = true;
            this.comboBoxDinamico.Items.AddRange(new object[] {
            "Nombre",
            "Apellido",
            "Edad"});
            this.comboBoxDinamico.Location = new System.Drawing.Point(20, 61);
            this.comboBoxDinamico.Name = "comboBoxDinamico";
            this.comboBoxDinamico.Size = new System.Drawing.Size(121, 21);
            this.comboBoxDinamico.TabIndex = 3;
            //
            // VentanaDatosPersona
            //
            this.VentanaDatosPersona.Location = new System.Drawing.Point(154, 61);
            this.VentanaDatosPersona.Name = "VentanaDatosPersona";
            this.VentanaDatosPersona.Size = new System.Drawing.Size(100, 20);
            this.VentanaDatosPersona.TabIndex = 4;
            this.VentanaDatosPersona.Visible = false;
            //
            // textBoxVentanaDatosEscritos
            //
            this.textBoxVentanaDatosEscritos.Location = new System.Drawing.Point(200, 61);
            this.textBoxVentanaDatosEscritos.Name = "textBoxVentanaDatosEscritos";
            this.textBoxVentanaDatosEscritos.Size = new System.Drawing.Size(100, 20);
            this.textBoxVentanaDatosEscritos.TabIndex = 4;
            this.textBoxVentanaDatosEscritos.Visible = false;
            //
            // textBox1
            //
            this.textBox1.Location = new System.Drawing.Point(52, 169);
            this.textBox1.Multiline = true;
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(172, 63);
            this.textBox1.TabIndex = 5;
            this.textBox1.Visible = false;
            //
            // botonOK
            //
            this.botonOK.Location = new System.Drawing.Point(522, 95);
            this.botonOK.Name = "botonOK";
            this.botonOK.Size = new System.Drawing.Size(75, 23);
            this.botonOK.TabIndex = 6;
            this.botonOK.Text = "OK";
            this.botonOK.UseVisualStyleBackColor = true;
            this.botonOK.Visible = false;
            this.botonOK.Click += new System.EventHandler(this.botonOK_Click);
       
        }
       
       
       
       
       
       
        private void NuevaPersona_Click(object sender, EventArgs e)
        {
            persona1= new Persona();         
            ComboBox comboBoxDinamico = new ComboBox();
            this.Controls.Add(this.comboBoxDinamico);           
            this.comboBoxDinamico.SelectedIndexChanged += new System.EventHandler(this.comboBoxDinamico_SelectedIndexChanged);
           
           


           
        }

        private void botonOK_Click(object sender, EventArgs e)
        {
           
           
           
            VentanaDatosPersona.Clear();
            VentanaDatosPersona.Visible = false;
           
            comboBoxDinamico.Hide();
            comboBoxDinamico.Visible = false;

           
            textBox1.Clear();
            this.textBox1.Visible = false;

            RehacerComponentes();

            botonOK.Visible = false;

        }

       
    }
}

form1.designer.cs
Código: [Seleccionar]
namespace UsoDeLibreriaPersonas
{
    partial class Form1
    {
        /// <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.menuStrip1 = new System.Windows.Forms.MenuStrip();
            this.toolStripMenuItemNuevo = new System.Windows.Forms.ToolStripMenuItem();
            this.toolStripMenuItemNuevaPersona = new System.Windows.Forms.ToolStripMenuItem();
            this.toolStripMenuItemNuevoAlumno = new System.Windows.Forms.ToolStripMenuItem();
            this.comboBoxDinamico = new System.Windows.Forms.ComboBox();
            this.VentanaDatosPersona = new System.Windows.Forms.TextBox();
            this.textBoxVentanaDatosEscritos = new System.Windows.Forms.TextBox();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.botonOK = new System.Windows.Forms.Button();
            this.menuStrip1.SuspendLayout();
            this.SuspendLayout();
            //
            // menuStrip1
            //
            this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.toolStripMenuItemNuevo});
            this.menuStrip1.Location = new System.Drawing.Point(0, 0);
            this.menuStrip1.Name = "menuStrip1";
            this.menuStrip1.Size = new System.Drawing.Size(762, 24);
            this.menuStrip1.TabIndex = 0;
            this.menuStrip1.Text = "menuStrip1";
            //
            // toolStripMenuItemNuevo
            //
            this.toolStripMenuItemNuevo.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.toolStripMenuItemNuevaPersona,
            this.toolStripMenuItemNuevoAlumno});
            this.toolStripMenuItemNuevo.Name = "toolStripMenuItemNuevo";
            this.toolStripMenuItemNuevo.Size = new System.Drawing.Size(54, 20);
            this.toolStripMenuItemNuevo.Text = "Nuevo";
            //
            // toolStripMenuItemNuevaPersona
            //
            this.toolStripMenuItemNuevaPersona.Name = "toolStripMenuItemNuevaPersona";
            this.toolStripMenuItemNuevaPersona.Size = new System.Drawing.Size(155, 22);
            this.toolStripMenuItemNuevaPersona.Text = "Nueva Persona";
            this.toolStripMenuItemNuevaPersona.Click += new System.EventHandler(this.NuevaPersona_Click);
            //
            // toolStripMenuItemNuevoAlumno
            //
            this.toolStripMenuItemNuevoAlumno.Name = "toolStripMenuItemNuevoAlumno";
            this.toolStripMenuItemNuevoAlumno.Size = new System.Drawing.Size(155, 22);
            this.toolStripMenuItemNuevoAlumno.Text = "Nuevo Alumno";
            //
            // comboBoxDinamico
            //
            this.comboBoxDinamico.FormattingEnabled = true;
            this.comboBoxDinamico.Items.AddRange(new object[] {
            "Nombre",
            "Apellido",
            "Edad"});
            this.comboBoxDinamico.Location = new System.Drawing.Point(20, 61);
            this.comboBoxDinamico.Name = "comboBoxDinamico";
            this.comboBoxDinamico.Size = new System.Drawing.Size(121, 21);
            this.comboBoxDinamico.TabIndex = 3;
            //
            // VentanaDatosPersona
            //
            this.VentanaDatosPersona.Location = new System.Drawing.Point(154, 61);
            this.VentanaDatosPersona.Name = "VentanaDatosPersona";
            this.VentanaDatosPersona.Size = new System.Drawing.Size(100, 20);
            this.VentanaDatosPersona.TabIndex = 4;
            this.VentanaDatosPersona.Visible = false;
            //
            // textBoxVentanaDatosEscritos
            //
            this.textBoxVentanaDatosEscritos.Location = new System.Drawing.Point(200, 61);
            this.textBoxVentanaDatosEscritos.Name = "textBoxVentanaDatosEscritos";
            this.textBoxVentanaDatosEscritos.Size = new System.Drawing.Size(100, 20);
            this.textBoxVentanaDatosEscritos.TabIndex = 4;
            this.textBoxVentanaDatosEscritos.Visible = false;
            //
            // textBox1
            //
            this.textBox1.Location = new System.Drawing.Point(52, 169);
            this.textBox1.Multiline = true;
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(172, 63);
            this.textBox1.TabIndex = 5;
            this.textBox1.Visible = false;
            //
            // botonOK
            //
            this.botonOK.Location = new System.Drawing.Point(522, 95);
            this.botonOK.Name = "botonOK";
            this.botonOK.Size = new System.Drawing.Size(75, 23);
            this.botonOK.TabIndex = 6;
            this.botonOK.Text = "OK";
            this.botonOK.UseVisualStyleBackColor = true;
            this.botonOK.Visible = false;
            this.botonOK.Click += new System.EventHandler(this.botonOK_Click);
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(762, 319);
            this.Controls.Add(this.botonOK);
            this.Controls.Add(this.textBox1);
            this.Controls.Add(this.menuStrip1);
            this.Controls.Add(this.VentanaDatosPersona);
            this.MainMenuStrip = this.menuStrip1;
            this.Name = "Form1";
            this.Text = "Uso de dll para nombres";
            this.menuStrip1.ResumeLayout(false);
            this.menuStrip1.PerformLayout();
            this.ResumeLayout(false);
            this.PerformLayout();

        }


        #endregion

        private System.Windows.Forms.MenuStrip menuStrip1;
        private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemNuevo;
        private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemNuevaPersona;
        private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemNuevoAlumno;
        private LibreriaPersonas.Persona persona1;
        private LibreriaPersonas.Alumno alumno1;
        private System.Windows.Forms.ComboBox comboBoxDinamico;
        private System.Windows.Forms.TextBox VentanaDatosPersona;
        private System.Windows.Forms.TextBox textBoxVentanaDatosEscritos;

        string nombreAux;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Button botonOK;
       
       


       
       
       
    }
}


se que no he utilizado aun la clase persona ( quiero despues usar un array de personas) donde guardar todos estos datos.Mi idea es de momento, que al crear la nueva persona, se sobreescriban los datos ( ya arreglare eso)

picyo

  • Visitante
Re:creacion de dll
« Respuesta #6 en: Sábado 17 de Diciembre de 2011, 10:03 »
0
Bueno, lo que me ocurre es que al clickar en " Nueva Persona", sólo la primera vez que lo hago carga todos los componentes. Hice una funcuión que era cargar componentes, pero no me hace caso. ¿ Por que ?