如何从一种形式访问一个类到另一种形式

时间:2014-12-03 20:28:09

标签: c# winforms syntax-error

我试图让公共班级的宠物以不同的形式穿着作为连接,但我做不到,我在哪里可以把公共类宠物与我创造的每种形式联系起来?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace prueba
{
   static class Program
   {
    /// <summary>
    /// Punto de entrada principal para la aplicación.
    /// </summary>  

        public class mascotas
        {
            public string nombremascota, nombredueño, sexo, especie, estado, respuesta;
        }

        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
     }
  }

我尝试与此表单建立连接,但我在mascotas&lt; -

中有错误
this.listnombresmas.Items.Add(((mascotas)capturar[i]).);

完整的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Collections;

namespace prueba
{
    public partial class verdatos : Form
    {
        ArrayList capturar = new ArrayList();

        public verdatos(ArrayList mascotaguardar)
        {
            capturar = mascotaguardar;
            InitializeComponent();
            cargadatos();
        }
       void cargadatos()
        {
            for (int i = 0; i < capturar.Count; i++)
            {
                this.listnombresmas.Items.Add(((mascotas)capturar[i]).);
            }
        }
        private void label5_Click(object sender, EventArgs e)
        {

        }
    }
}

另一种形式:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Collections;

namespace prueba
{

    public partial class Form1 : Form
    {
        public class mascotas
        {
            public string nombremascota, nombredueño, sexo, especie, estado, respuesta;
        }

        string especie = "Pajaro", sexo = "Hembra", respuesta = "Si";
        ArrayList nuevamascota = new ArrayList();

        //----------------No Modificar NADA-------------------
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void buttonguardar_Click(object sender, EventArgs e)
        {
            if(compruebadatos()==true)
            {
                MessageBox.Show("Guardado con éxito");
                almacenadatos();
                resetcontrols();
            }
            else
            {
                MessageBox.Show("Faltan datos");
            }
        }
        void resetcontrols()
        {
            this.tnomdueño.Text = "";
            this.tnommascota.Text = "";
            this.radiopajaro.Checked = true;
            this.radiohembra.Checked = true;
            this.radiosi.Checked = true;
            this.listvivienda.SelectedIndex = 0;
        }
        void almacenadatos()
        {
            mascotas almacenar = new mascotas();
            almacenar.nombremascota = this.tnommascota.Text;
            almacenar.nombredueño = this.tnomdueño.Text;
            almacenar.estado = this.listvivienda.Text;
            almacenar.especie = especie;
            almacenar.respuesta = respuesta;
            almacenar.sexo = sexo;

            nuevamascota.Add(almacenar);
        }

        #region botones

        private void radiopajaro_CheckedChanged(object sender, EventArgs e)
        {
            if(radiopajaro.Checked)
            {
                especie = "Pajaro";
            }
        }

        private void radioperro_CheckedChanged(object sender, EventArgs e)
        {
            if(radioperro.Checked)
            {
                especie = "Perro";
            }
        }

        private void radiogato_CheckedChanged(object sender, EventArgs e)
        {
            if(radiogato.Checked)
            {
                especie = "Gato";
            }
        }

        private void radioconejo_CheckedChanged(object sender, EventArgs e)
        {
            if(radioconejo.Checked)
            {
                especie = "Conejo";
            }
        }

        private void radioerizo_CheckedChanged(object sender, EventArgs e)
        {
            if(radioerizo.Checked)
            {
                especie = "Erizo";
            }
        }

        #endregion

        bool compruebadatos()
        {
            if(tnommascota.Text == "" || tnomdueño.Text == "")
            {
                return false;
            }
            else
            {
                return true;
            }
        }

        private void buttonverdatos2_Click(object sender, EventArgs e)
        {

        }


    }
}

1 个答案:

答案 0 :(得分:1)

右键点击您的项目,&#34;添加&#34;和&#34;类...&#34;,键入mascotas.cs作为名称并定义您的类。你会得到这样的东西:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace YourNamespace
{
    public class mascotas
    {
        public string nombremascota, nombredueño, sexo, especie, estado, respuesta;
    }
}

您将mascotas定义为嵌套类,因此您无法从另一个类访问它。

如果你的意思是这个!