Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / контрол добавляет лишний код при инициализации! / 9 сообщений из 9, страница 1 из 1
28.10.2004, 16:25
    #32759681
Kulibin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
контрол добавляет лишний код при инициализации!
я сделал свой контрол от combo (infragistics), в моём контроле в конструкторе я добавляю кнопку.

private MyCombo()
{
S=new EditorButton("Show");

Icon i=new Icon(typeof(MyCombo),"Show.ico");
ShowOnMap.Appearance.Image=i.ToBitmap();

this.ButtonsLeft.Add(ShowOnMap);
S.Click+=new EditorButtonEventHandler(S_Click);

}

кидаю контрол на форму, а в коде инициализации формы появляется создание этой кнопки
это не совершенно не нужно потому что система после этого пытается создать 2 кнопки с одинаковым ключём!!
причём если даже убрать эти строки

appearance1.Image = ((object)(resources.GetObject("appearance1.Image")));
editorButton1.Appearance = appearance1;
editorButton1.Key = "Show";
this.objectCombo1.ButtonsLeft.Add(editorButton1);

из формы, то они всё равно в какой-то момент опять есть.
как мне избавится от этого?
...
Рейтинг: 0 / 0
28.10.2004, 19:18
    #32760102
Roman S. Golubin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
контрол добавляет лишний код при инициализации!
Kulibinя сделал свой контрол от combo (infragistics), в моём контроле в конструкторе я добавляю кнопку.

Что есть infragistics ?
...
Рейтинг: 0 / 0
28.10.2004, 19:31
    #32760111
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
контрол добавляет лишний код при инициализации!
2 Kulibin
Что-то непонятное. Вы хотите, чтобы в вашем контроле, сделанном (относледованном ?) на основании Combo от Infragistics была еще одна кнопка ?
Ну добавьте ее в дизайнере. Если почему то не хотите в дизайнере, а в конструкторе, тогда например так :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
		public UserControl1()
		{
			// This call is required by the Windows.Forms Form Designer.
			InitializeComponent();

			// 
			// button1
			// 
			this.button1.Location = new System.Drawing.Point(16, 48);
			this.button1.Name = "button1";
			this.button1.Size = new System.Drawing.Size(112, 56);
			this.button1.TabIndex = 0;
			this.button1.Text = "button1";
			this.Controls.Add(this.button1);

		}
А вы пишете, что в контроле вы добавляете кнопку, а она появляется в коде инициализации формы. Очень странно.

2 Roman S. Golubin
http://www.infragistics.com/
...
Рейтинг: 0 / 0
29.10.2004, 11:09
    #32760588
Kulibin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
контрол добавляет лишний код при инициализации!
вот именно.
инфрагистиковый комбо имеет коллекцию кнопок.
мне нужен заранее подготовленный комбо с кнопкой и реакцией на ней.
я в конструкторе добаляю эту кнопку как и показал.
всё бы вроде бы хорошо, но когда мой комбо кидается на форму в коде инициализации (InitializeComponent) добаляется код - мне он совершенно не нужен!!! Так как он же есть в конструкторе комбо, а тут он же (практически).

у кого какие идеи?

причём ладно. я готов был один раз убрать этот лишьний код, а он мне его каждый раз добавляет, когда я в дизайнере открываю форму
...
Рейтинг: 0 / 0
29.10.2004, 11:27
    #32760640
Roman S. Golubin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
контрол добавляет лишний код при инициализации!
Kulibinвот именно.
инфрагистиковый комбо имеет коллекцию кнопок.
Может проблема именно а "инфрагистиковый комбо"?

Может в констукторе стоит проверять, создается объект в режиме дизайна или не и в первом случае кнопок не добавлять?

--
WBR,
Roman S. Golubin
--
Стек легко преобразуется в очередь при помощи автомата Калашникова.
...
Рейтинг: 0 / 0
29.10.2004, 11:39
    #32760679
Kulibin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
контрол добавляет лишний код при инициализации!
так помоему сначала в конструкторе создаётся кнопка потом в фунции инициализации формы :(
...
Рейтинг: 0 / 0
29.10.2004, 12:11
    #32760753
Roman S. Golubin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
контрол добавляет лишний код при инициализации!
Kulibinтак помоему сначала в конструкторе создаётся кнопка потом в фунции инициализации формы :(
Не факт.
Первоначально создается дизайнер элемента управления, который указан в атрибуте класса DesignerAttribute. Далее все зависит от логики его работы.
...
Рейтинг: 0 / 0
30.10.2004, 16:35
    #32762085
Kulibin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
контрол добавляет лишний код при инициализации!
смысш в том что когда доходит до того кода который автоматом создался в функции инициализации кнопка уже создана.
и код пытается добавить кнопку с ключём который уже есть в дебагере это хорошо видно.

каким образом вообще идёт добавление в код инициализации?
...
Рейтинг: 0 / 0
01.11.2004, 22:57
    #32764100
Roman S. Golubin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
контрол добавляет лишний код при инициализации!
Похоже, это баг дизайнера твоего combo (нарушена последовательность действий при создании элемента). Если есть исходники, то можно попробовать локализовать ошибку.
Насчет "автоматом создается". Программа создается людьми. А люди имеют свойство допускать ошибки. В данном случае, похоже, при добавлении элемента в форму, дизайнер добавляет в нее так же все элементы, которые создаются в конструкторе элемента. Вероятно он знает что делать со своими элементами и не знает, что делать с твоими.
Решить проблему, на мой взгляд, можно попытавшись вынести создание кнопки в отдельную процедуру, перед вызовом которой проверять, что элемент не находится в режиме дизайна.
И еще - может имеет смысл написать производителю твоего combo письмо, снабдив его примером неправильно отображаемого в дизайнере элемента?

--
Успехов, Роман С. Голубин
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / контрол добавляет лишний код при инициализации! / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]