如何将类从一个窗体访问到另一个窗体

本文关键字:窗体 一个 访问 另一个 | 更新日期: 2023-09-27 18:33:04

我试图让公共类宠物以不同的形式佩戴作为连接,但我做不到,我可以在哪里放置公共类宠物以与我创建的每种形式建立联系?

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());
        }
     }
  }

我尝试与此表格建立联系,但我在吉祥物中有一个错误<--

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)
        {
        }

    }
}

如何将类从一个窗体访问到另一个窗体

右键单击您的项目,"添加"和"类...",键入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定义为嵌套类,因此您无法从另一个类访问它。

如果你的意思是这个!