nikedeforest
|
|
« : 30-10-2006 16:23 » |
|
Мужики, в голове что-то созрело, но еще не понял что, поэтому возможно сейчас вы прочтете шокирующий вопрос, но тем не менее. Есть форма, на ней располагаем радиобатоны 4-5 штук. В зависимости от того, какой радиобаттон будет выбран пользователь будет вводить определнные параметры. Но стоит отметить , ч при это у всех четырех есть как общие параметры, так и отличающиеся. Я хочу спросить как бы это правильнее и красивее (с точки зрения реализации, а не картинок) в позициях ООП и .НЕТ реализовать. У меня несколько идей, сейцчаас выскажу, надеюсь на то, что вы подскажите наиболее правильный путь. Итак, идея 1 самая банальная. В зависимости от того, какой радиобаттон выбран жобавлять на эту же форму дополнительный контролы и убирать ненужные. Не решил еще как делать, совсем убирать их из списка контролов или делать просто невидимыми. идея №2. В зависимости от того, какой радиобаттон выбран создавать новое окно с необходиимыми кол-вами контролов. Чем эта идея меня привлекает. Она мне кажется наиболее верной с точки зрения ООП. Формы - это ведь классы. Я могу организовать иерархию этих классов. в зависимости от того, какой контитрол выбран, будет создаваться форма, дочерняя от необходиомго класса. Идея №3 является симбиозом первой и второй, и я не знаю как ее воплотить. В глове такая идея, что как только выбран нцжный контрол создается класс дочерний от необходимомго и в этой же форме, где и радиобаттоны появляются необходимые контролы для ввода. Целью является то, что не хочется как-то нагромождать экран лишними окнами, почему не отображать все в одном. Но вот как это правильно сделать? Есть одна идея, что типа создаю я форму и затем отображаю ее на главной форме вместе с ее контролами, при этом визуально этого пользователь не видит, ему кажется, что окно одно и на ней появились новые контролы. Дочерняя форма (которая на форме главной) должна принимать такие события как onPaint и подобые.Не предстьавляю как это сделать, но и может это как-то делается по-другому, а не именно "форма в форме".
|