如何将类从一个窗体访问到另一个窗体
本文关键字:窗体 一个 访问 另一个 | 更新日期: 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
定义为嵌套类,因此您无法从另一个类访问它。
如果你的意思是这个!