Windows Формы «Имя X не существует в текущем контексте» - PullRequest
0 голосов
/ 09 мая 2020

во первых это мой первый пост, извините за плохой формат и yada yada yada. Теперь я пытаюсь выучить C# для своих классов uni, и у меня проблема с некоторыми базовыми формами c windows и c# logi c, поэтому, если вы можете мне помочь, я был бы очень признателен ! Итак, я создал свою форму, в которой есть 2 текстовых поля и кнопка. После нажатия кнопки я хочу, чтобы программа создала нового члена класса для списка. (думаю, в конце концов я получил объяснение немного неправильно, поэтому я свяжу здесь свой код). Итак, в основном здесь мы go: Основная программа:

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

        }
    }
}

1 Ответ

1 голос
/ 09 мая 2020

В случае, если вы хотите, чтобы люди, добавляемые щелчком, отображались c во всем приложении, вы можете сделать следующее. Вы создали список внутри основного метода, который не подходит для поддержания состояния вашего приложения. Используйте приведенный ниже класс и нажмите кнопку, просто позвоните 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;
    }

}

. Если вы хотите, чтобы они обрабатывались с помощью служб, вы можете просто сделать это с помощью классов обслуживания и классов уровня доступа к данным, которые могут быть написанным, если ваше требование - хранить в БД.

...