powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / контрол добавляет лишний код при инициализации!
9 сообщений из 9, страница 1 из 1
контрол добавляет лишний код при инициализации!
    #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
контрол добавляет лишний код при инициализации!
    #32760102
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kulibinя сделал свой контрол от combo (infragistics), в моём контроле в конструкторе я добавляю кнопку.

Что есть infragistics ?
...
Рейтинг: 0 / 0
контрол добавляет лишний код при инициализации!
    #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
контрол добавляет лишний код при инициализации!
    #32760588
Kulibin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот именно.
инфрагистиковый комбо имеет коллекцию кнопок.
мне нужен заранее подготовленный комбо с кнопкой и реакцией на ней.
я в конструкторе добаляю эту кнопку как и показал.
всё бы вроде бы хорошо, но когда мой комбо кидается на форму в коде инициализации (InitializeComponent) добаляется код - мне он совершенно не нужен!!! Так как он же есть в конструкторе комбо, а тут он же (практически).

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

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

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

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

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

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


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