С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
87 / 55 / 15
Регистрация: 01.10.2010
Сообщений: 492
1

Генерация элементов формы в другом классе

21.04.2012, 15:55. Показов 1851. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Некоторые элементы формы генерируются в другом классе. Они динамические, удобнее так .
Класс - не форма.

Внутри формы в определённом месте этот класс генерирует элементы интерфейса. Можно пройтись циклом и добавить в Controls формы, но это как-то неудобно делать, особенно в нескольких местах. Можно сделать генерацию и добавление элементов в Controls сразу в классе?

Добавлено через 55 минут
Пробовал как
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
// Форма
MySQLGenerateForm MySQLGenerateForm = new MySQLGenerateForm(this.Controls);
 
 
...
 
// Класс
        public MySQLGenerateForm(Control.ControlCollection controls)
        {
            // Добавить контейнер для боковых элементов интерфеса ввода значений атрибутов в 
            // Controls формы
            controls.Add(containerLateral);
        }
Не получилось

Добавлено через 23 секунды
ругается на this
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.04.2012, 15:55
Ответы с готовыми решениями:

Использование элемента формы в другом классе.
Подскажите, пожалуйста. Создаю Win-приложение (язык C#). Имеется стандартный класс Form1. Также...

Обработка события формы в другом классе
я в C# совсем зелен, подскажите пожалуйста, как можно обработать событие формы в методе другого...

Создание элемента формы в другом классе
Привет всем, есть такой метод public void Elem() { ListBox lstBox = new...

Как в другом классе заполнить компонент формы?
Не получается в потоке записывать информацию в textbox. Создал класс реагирующий на событие....

1
Комп_Оратор)
Эксперт по математике/физике
9005 / 4704 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
21.04.2012, 23:03 2
Цитата Сообщение от MDmitry_ Посмотреть сообщение
Класс - не форма.
Но форма - класс, при чём как в прямом, так и в переносном смысле. Поэтому:
Цитата Сообщение от MDmitry_ Посмотреть сообщение
Внутри формы в определённом месте этот класс генерирует элементы интерфейса.
Означает нарушение ООП. Зачем? Сделать то можно. Передать указатель на экземпляр Вашей формы в класс и делайте с ним что хотите. Но это плохо и с точки зрения нарушения принципа инкапсуляции, а и с точки зрения структуры приложения.
В самом деле - Ваш экземпляр Вашего класса (Form1 например) генерится в Main(). Из него могут быть созданы и вызваны внешние объекты. Это нормальная древовидная логическая структура с нисходящей зависимостью. Нарушение логики обязательно приведет к разного рода трудностям.
Почему бы не вставить хидер вашего класса в Вашу форму, создать экземпляр и получить, всё, что с формой как классом не связано. А Ваша форма в зависимости от полученного сама вызовет свои методы и изменит свойства.
Если не хватает имеющихся возможностей и Вы хотите расширить возможности класса форм как GUI в Вашем классе наследнике (Form1), создайте поля методы, классы - члены Form1.
Сказанное относится к приложению Windows Forms со свойственной ему простой простой функцией Main().
0
21.04.2012, 23:03
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.04.2012, 23:03
Помогаю со студенческими работами здесь

Массив элементов класса в другом классе
Есть класс "студент" и "группа". В группе есть массив студентов. Как из main использовать методы...

Как использовать объект класса, созданого в определеном классе, в другом классе
У меня такой вопрос,как использовать объект класса,созданого в определеном классе,в другом классе.У...

Как использовать информацию парсированую в 1 классе в другом классе
имеются 2 класса , объясните плз в чём ошибка using System; using System.Collections.Generic;...

Динамическая генерация элементов формы
Подскажите, пожалуйста, можно ли создавать элементы вин-формы динамически. Мне нужно чтобы было...

Переменная изменилась в одном классе, куда "воткнуть" код в другом классе
Привет всем, Достало это событийное программирование. :wall: Я не делаю событийные "калькуляторы"...

Нужно вызвать через сторонний метод(в другом классе,который в другом файле) метод в форме
public void Print_Inform(int numb1,int znak,int numb2) { switch(znak) { case 1:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru