Nerwin
@Nerwin
И ни капельки я не тупой...просто ленивый

Как из класса обратиться к элементу формы?

Здравствуйте.
Пытаюсь разобраться в c# winforms.
Есть форма, на ней меню и textbox. Требуется динамически заполнить меню элементами и чтобы при клике на элемент на textbox выводилась информация соответствующая этому элементу.
Например меню заполняется списком тем, а при нажатии на тему в textbox выводится ее содержимое.
Решил сделать класс lesson:
public class Lesson
    {
        private string _lessonName;
        private string _lessonPath;
        private string _lessonDescription;
        public string LessonName
        {
            get { return _lessonName; }
            set { _lessonName = value; }
        }
        public string LessonPath
        {
            get { return _lessonPath; }
            set { _lessonPath = value; }
        }
        public string LessonDescription
        {
            get { return _lessonDescription; }
            set { _lessonDescription = value; }
        }

        public Lesson(string name, string path, string description)
        {
            _lessonName = name;
            _lessonPath = path;
            _lessonDescription = description;
            // тут добавление пункта в меню
        }

        public void click(object sender, EventArgs e)
        {
            // здесь процедура по изменению textbox1.text
        }
    }

При таком подходе из класса не видно ни текстбокса ни меню на форме, их надо передавать как параметр, но тогда получится очень много параметров при создании экземпляра класса.
Чтобы это работало приходится добавлять переменные ToolStripMenuItem и TextBox.
Как это сделать правильно?
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
@alexalexes
Вы пытаетесь смешать логику хранения списка тем с логикой их отображения.

// тут добавление пункта в меню

и

public void click(object sender, EventArgs e)
{
// здесь процедура по изменению textbox1.text
}

Этого не должно быть в этом классе.
Наполнение формы должно происходить в классе формы с использованием готовых объектов класса Lesson.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы