Порылся — вроде ничего не нашёл.
У меня в тулбаре кнопки и прочая лабуда добавляются динамически, ну и убираются тоже. В зависимости от многих обстоятельств: какая активная форма на теущий момент, режим просмотра или редактирования. Но почему в режиме проектирования форма запоминает какие кнопки были добавлены динамчески.и я могу их видеть. Хотя никогда не рисовал их с помощью тулов.
Например, (чтобы не усугу!лять, максимально сокращу)
1. класс тулбаровский
public class SmToolBar : System.Windows.Forms.ToolBar
{
public SmToolBar()
{
InitializeComponent();
this.AddButtons();
}
private void AddButtons()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("d:\\baseNet\\menus.xml");
XmlElement xmlRootEl = xmlDoc.DocumentElement;
int nCount = xmlRootEl.ChildNodes.Count;
ToolBarButton[] tlb = new ToolBarButton[nCount];
for (int i = 0; i < nCount; i++)
{
tlb[i] = new ToolBarButton();
tlb[i].Text = xmlRootEl.ChildNodes[i].Attributes["name"].Value;
tlb[i].Style = ToolBarButtonStyle.DropDownButton;
}
this.Buttons.AddRange(tlb);
}
}
2. теперь вставим класс в форму
this.myTool = new SmToolBar();
this.Controls.AddRange(new System.Windows.Forms.Control[] { this.myTool});
Запускаем. Выключаем. Приземляемся.
Смотрим, в режиме Design. Ровно две кнопочки там в тулбаре.
Если три добавишь в рантайм, то три и в дизайн увидишь. Ну, и так далее.
Вопрос. Как глубоко лежит разгадка, какие подлости можно ожидать в будущем, можно ли осилить человеку VBAшного уровня развития, пределом развития которого являются квадратные уравнения и равенство модулей чисел -2 и 2? Или цифр?
22.12.03 18:41: Перенесено модератором из '.NET' — AVK
Здравствуйте, sergueim, Вы писали:
S>Вопрос. Как глубоко лежит разгадка, какие подлости можно ожидать в будущем, можно ли осилить человеку VBAшного уровня развития, пределом развития которого являются квадратные уравнения и равенство модулей чисел -2 и 2? Или цифр?
Ты залепил добавление в конструктор. Он вызывается как в рантайме так и в дизайнтайме. Что ты еще хочешь?
... << RSDN@Home 1.0 beta 6a >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, sergueim, Вы писали:
S>>Вопрос. Как глубоко лежит разгадка, какие подлости можно ожидать в будущем, можно ли осилить человеку VBAшного уровня развития, пределом развития которого являются квадратные уравнения и равенство модулей чисел -2 и 2? Или цифр?
VD>Ты залепил добавление в конструктор. Он вызывается как в рантайме так и в дизайнтайме. Что ты еще хочешь?
спасибо за обстоятельный ответ.
А что ещё вызывается как в рантайм, так и в дизайнтайм? И где это описано. И почему это плохо.
Здравствуйте, sergueim, Вы писали:
S>спасибо за обстоятельный ответ. S>А что ещё вызывается как в рантайм, так и в дизайнтайм? И где это описано. И почему это плохо.
Да почти все. В дизантайме создается полноценная копия твоего объекта. Другое дело, что поведение в дизантайме может быть иным. Так дизайнер перехватывает ввод пользователя, но это тоже можно изменить.
Лучше опиши что тебе нужно от дизантайма? И что не устраивает?
... << RSDN@Home 1.0 beta 6a >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, sergueim, Вы писали:
VD>Да почти все. В дизантайме создается полноценная копия твоего объекта. Другое дело, что поведение в дизантайме может быть иным. Так дизайнер перехватывает ввод пользователя, но это тоже можно изменить.
VD>Лучше опиши что тебе нужно от дизантайма? И что не устраивает?
Да, ничего особенного. Я старый фоксприст, но так как наш продукт медленно уничтожают, то перебегаю. У меня есть инструмент, с помощью которого пользователь активно участвует в создании ГУЯ и бизнес-правил. То есть он смотрит на экран и говорит вот здесь надо таблично вывести, а здесь радиокнопки, а здесь надо кнопку добавить. Всё это добавляется прямо в рабочей прорамме и сохраняется в конфигурационном файле, а програмист затвердив пишет либо дизайнером новый гуй, либо прописывает динамическое подключение и преобразование объектов гуя в те, которые нужны пользователю.
Запутанно?
Ну, представь ты пришел с черновиком продукта к пользователю. Быстренько прямо в работающем приложении создали конфигурацию. Пришли домой и переписали как нужно, можно вообще файл конфигурации по мэйлу получить и к пользователю вообще не ездить.
Но в фоксе я мог сказать, создав нужный гуй — сохрани как класс. А здесь?
Короче, если запутанно, то можно тему оставить. Только ссылки на особенности работы дизайнера и программного на него влияния будут оценены по достоинству.
Спасибо.
Здравствуйте, sergueim, Вы писали:
S>Ну, представь ты пришел с черновиком продукта к пользователю. Быстренько прямо в работающем приложении создали конфигурацию. Пришли домой и переписали как нужно, можно вообще файл конфигурации по мэйлу получить и к пользователю вообще не ездить. S>Но в фоксе я мог сказать, создав нужный гуй — сохрани как класс. А здесь?
А здесь дизайнер сохраняет все настройки контролов в код или ресурсы (предпочитает в код). Можно сэмулировать запись этого дела в хмл. Но при этом придется написать немало кода. Ну, и помнить, что в дизантайме контрол тоже жив.
В твоем случае можно проверять не в дизайнтаме ли находится контрол:
VD>А здесь дизайнер сохраняет все настройки контролов в код или ресурсы (предпочитает в код). Можно сэмулировать запись этого дела в хмл. Но при этом придется написать немало кода. Ну, и помнить, что в дизантайме контрол тоже жив.
VD>В твоем случае можно проверять не в дизайнтаме ли находится контрол: VD>
спасибо.
Как бы тяжело не было, а создавать надо. Пользователь, который может редактировать интерфейс это совсем другой хороший пользователь.
Да и врмени экономия, пока с бумажки в компьютер, да еще разберись, что там на бумажке начиркали.
Всего хорошего.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, sergueim, Вы писали:
VD>Может тебе будет вот это интересно: ascContainer?
VD>Работает и в Фоксе, и в дотнете, и в 6-ом Васике.
спасибо, обязательно протестирую. Но создавать буду свой тул. Своя рубашка ближе к телу.