c# - Windows 窗体“当前上下文中不存在名称 X”
问题描述
首先,这是我在这里的第一篇文章,很抱歉格式不好和 yada yada yada。现在,我正在尝试为我的 uni 课程学习 C#,但我遇到了一些基本的 windows 窗体和 c# 逻辑的问题,所以如果你能帮助我,我将不胜感激!所以,我创建了我的表单,它有 2 个文本框和一个按钮。按下按钮后,我希望程序为列表创建一个新的类成员。(认为我最后的解释有点错误,所以我将在这里链接我的代码)。所以基本上我们开始了: 主程序:
namespace AddPersonTest
{
public static class Program
{
[STAThread]
public static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
List<Person> Persoane = new List<Person>();
}
}
}
人物类:
namespace AddPersonTest
{
public class Person
{
public int cod;
public int sex;
Person (int nCod, int nSex)
{
cod = nCod;
sex = nSex;
}
}
}
按钮和文本框代码:
namespace AddPersonTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void lblCod_Click(object sender, EventArgs e)
{
}
public void btnAdd_Click(object sender, EventArgs e)
{
Persoane.Add(txtCod, txtSex);
}
private void txtSex_TextChanged(object sender, EventArgs e)
{
}
private void txtCod_TextChanged(object sender, EventArgs e)
{
}
}
}
解决方案
如果您想让点击时添加的人员在整个应用程序中保持静态,您可以执行以下操作。您已经在 main 方法中创建了列表,这不是维护应用程序状态的正确位置。使用下面的类和按钮点击,只需调用PersonStore.AddPerson(....);
public static class PersonStore {
private static List<Person> persons = new List<Person>();
public static void AddPerson(Person p) {
persons.Add(p);
}
public static List<Person> GetAllPersons() {
return persons;
}
}
如果您想通过服务处理这些问题,您可以借助服务类和数据访问层类来实现,如果您的要求是存储在 DB 中,可以编写这些类。
推荐阅读
- javascript - 为输入类型添加验证,因此不允许用户输入除具有最小值和最大值的数字以外的任何内容
- python - 近似和细节系数长度离散小波变换
- amazon-web-services - 使用负载均衡器部署 ecs-cli fargate 集群
- java - 使用 hazelcast 计划作业访问本地资源
- c++ - 从 WebRTC C++ 源代码运行示例
- python - 如何在python中按组返回压缩文本列
- f# - 如何减少此 F# 代码中的重复模块?
- react-native - 在反应本机中查询关于向上滑动面板
- excel - 通过/失败测试连接到 Excel
- c++ - C++ QueryDosDeviceA() 返回 0 但 COMX 已连接