Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Дизайнеры форм и что? 
:(
    Опции темы
IEZ
  Дата 12.5.2006, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 10.2.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 3



Приветствую Всех!
Вот стало интересно. На многих форумах натыкался на темы обсуждений разработки Дизанера форм.
Это создаешь в проге новую форму и начинаешь в визуале бросать на нее контролы, настраивать их свойства,
тусовать их по форме.
Смотрел некоторые примеры демо прог.
Но во всем этом заинтересовало меня следующее:
  • Как весь этот набросок контролов на форме (в чем и каком формате) сохранять?
  • Ну и самое главное, как обрабататывать события от этих форм? Если представить, что этот дезайнер предполагает заранее неизвестное количество контролов и их типов. Я так понимаю прога, которая использует данную форму разработанную в дизайнере, должна таже как то динамически обрабатывать все события от нее.
Помогите понять и разобраться.
Спасибо. 


--------------------
"Нужно делать так, как нужно, а как не нужно, делать не нужно" (с) Винни-Пух.
PM MAIL WWW ICQ   Вверх
ivashkanet
Дата 12.5.2006, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 11
Всего: 149



Дизайнер заполняет файл FormName.Disigner.cs кодом такого вида:
Код

private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
            this.dataSet1 = new System.Data.DataSet();
            this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
            this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
            this.bindingNavigator1 = new System.Windows.Forms.BindingNavigator(this.components);
            this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton();
            this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton();
            this.bindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator();
            this.bindingNavigatorPositionItem = new System.Windows.Forms.ToolStripTextBox();
            this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
            this.bindingNavigatorSeparator1 = new System.Windows.Forms.ToolStripSeparator();
            this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton();
            this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();
            this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator();
            this.bindingNavigatorAddNewItem = new System.Windows.Forms.ToolStripButton();
            this.bindingNavigatorDeleteItem = new System.Windows.Forms.ToolStripButton();
            ((System.ComponentModel.ISupportInitialize)(this.dataSet1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.bindingNavigator1)).BeginInit();
            this.bindingNavigator1.SuspendLayout();
            this.SuspendLayout();
            // 
            // dataSet1
            // 
            this.dataSet1.DataSetName = "NewDataSet";
            // 
            // contextMenuStrip1
            // 
            this.contextMenuStrip1.Name = "contextMenuStrip1";
            this.contextMenuStrip1.Size = new System.Drawing.Size(61, 4);
.......... 
        }
        private System.Data.DataSet dataSet1;
        private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
        private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
        private System.Windows.Forms.BindingNavigator bindingNavigator1;
        private System.Windows.Forms.ToolStripButton bindingNavigatorAddNewItem;
        private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;
        private System.Windows.Forms.ToolStripButton bindingNavigatorDeleteItem;

А потом в конструкторе формы вызывается метод InitializeComponent()

Все преобразовывается в код, просто и понятно  smile  
PM MAIL WWW ICQ   Вверх
IEZ
Дата 12.5.2006, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 10.2.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 3



Я имел ввиду своя прога Дизайнера форм.
В каком виде сохранят  данные из этой проги?
И как их потом пользовать уже в другой своей же проге? 


--------------------
"Нужно делать так, как нужно, а как не нужно, делать не нужно" (с) Винни-Пух.
PM MAIL WWW ICQ   Вверх
ivashkanet
Дата 12.5.2006, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 11
Всего: 149



Цитата(IEZ @  12.5.2006,  11:39 Найти цитируемый пост)
В каком виде сохранят  данные из этой проги?

В виде кода, как выше  smile 
Цитата(IEZ @  12.5.2006,  11:39 Найти цитируемый пост)
И как их потом пользовать уже в другой своей же проге? 

А что твоя прога делает? Это компилятор? 
PM MAIL WWW ICQ   Вверх
IEZ
Дата 12.5.2006, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 10.2.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 3



Цитата(ivashkanet @  12.5.2006,  11:41 Найти цитируемый пост)
А что твоя прога делает? Это компилятор?  

Нет не компилятор, обычная прога.
Я планирую сохранить данные в xml-файле, а потом уже в проге использовать данную форму и обрабатывать события которые привязаны к контролам.
Такова задумка. 


--------------------
"Нужно делать так, как нужно, а как не нужно, делать не нужно" (с) Винни-Пух.
PM MAIL WWW ICQ   Вверх
Domestic Cat
Дата 12.5.2006, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: нет
Всего: 172



Цитата(ivashkanet @  12.5.2006,  02:41 Найти цитируемый пост)
В виде кода, как выше  smile 


Не в виде кода, а в виде xml файла <FormName>.resx 


--------------------

PM   Вверх
Exception
Дата 12.5.2006, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 5
Всего: 186



Ты собрался писать свою реализацию XAML, что ли? 
PM   Вверх
mr.DUDA
Дата 13.5.2006, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 24
Всего: 232



IEZ,  вот в этой статье из MSDN Magazine подробно расписано как создать свой дизайнер форм.  


--------------------
user posted image
PM MAIL WWW   Вверх
IEZ
Дата 16.5.2006, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 10.2.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 3



Я читал эту статью.
Но по моему еще непонятнее стало. 


--------------------
"Нужно делать так, как нужно, а как не нужно, делать не нужно" (с) Винни-Пух.
PM MAIL WWW ICQ   Вверх
Exception
Дата 17.5.2006, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 5
Всего: 186



Ты можешь нормально объяснить, что ты хочешь. Ну не понимаем мы. 
PM   Вверх
IEZ
Дата 18.5.2006, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 10.2.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 3



Цитата(Exception @  17.5.2006,  20:30 Найти цитируемый пост)
Ты можешь нормально объяснить, что ты хочешь. Ну не понимаем мы. 

Хочу, вернее есть прога конфигуратор, в которой мне нужно сделать дизайнер форм.
В котором на форму мне нужно набросать необходимые контролы, настроить их, определить для ним обработчики событий, привязать к ним соответствующие данные из файла конфигурации.
И все это должно делаться визуально и сохраняться в xml файл.
Затем в другой проге, на основе полученного файла, работать с этоими формами и обработчиками событий.
То есть одна прога делает файл любого содержания. Другая прога настраивается на работу с этим файлом.

Вот только как и с чего и в каком направлении копать мыслей нет.
Вот какой-нибудь пример посмотреть. 


--------------------
"Нужно делать так, как нужно, а как не нужно, делать не нужно" (с) Винни-Пух.
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 23.5.2006, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 24
Всего: 232



IEZ, смотри пример, ссылку на который я дал. 


--------------------
user posted image
PM MAIL WWW   Вверх
VID
Дата 5.6.2006, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 4.10.2004
Где: Новосибирск

Репутация: нет
Всего: нет



 То есть, я  понял что у тебя есть прога которая позволяет создавать какую-либо форму с контролами и всем прочим и сохранять все данные об объектах этой формы и связях и т.д и т.п в виде xml файла. А уже где-нибудь в другой проге  используя сгенерированный xml файл создавать (генерировать) произвольную форму настройки со всеми контролами и связями. Так? 
PM MAIL   Вверх
StepS
Дата 8.6.2006, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.8.2005
Где: Днепропетровск

Репутация: нет
Всего: нет



Может он имеет ввиду работу как это сделано в 1С бухгалтерии !? там тоже есть конфигуратор, в котором лабаешь формы с контролами, пишешь код на обработки события, а потом в самой 1С вызывается эта форма и работает! может так ? 
PM MAIL ICQ   Вверх
IEZ
Дата 8.6.2006, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 10.2.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 3



Цитата(VID @  5.6.2006,  12:41 Найти цитируемый пост)
То есть, я  понял что у тебя есть прога которая позволяет создавать какую-либо форму с контролами и всем прочим и сохранять все данные об объектах этой формы и связях и т.д и т.п в виде xml файла. А уже где-нибудь в другой проге  используя сгенерированный xml файл создавать (генерировать) произвольную форму настройки со всеми контролами и связями. Так? 

Именно так?

Цитата(StepS @  8.6.2006,  10:04 Найти цитируемый пост)
1С бухгалтерии 

Чур меня.

Цитата(StepS @  8.6.2006,  10:04 Найти цитируемый пост)
а потом в самой 1С вызывается эта форма и работает

Типа этого. 


--------------------
"Нужно делать так, как нужно, а как не нужно, делать не нужно" (с) Винни-Пух.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.1270 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.