Как сделать свой контейнер контролов?
От: Аноним  
Дата: 12.08.11 06:07
Оценка:
Проблема в общем то в отрисовке стандартных Control.
Как реализовать что то вроде этого

        protected override void OnPaint(PaintEventArgs pe)
        {
            base.OnPaint(pe);

            foreach (Control control in container.Components)
            {
                control.OnPaint(pe);
            }
        }

На самом деле будет посложнее и отрисовываться будут не только наследники Control

15.08.11 09:23: Перенесено модератором из '.NET' — TK
Re: Как сделать свой контейнер контролов?
От: Codechanger Россия  
Дата: 12.08.11 07:13
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Проблема в общем то в отрисовке стандартных Control.

А>Как реализовать что то вроде этого

А>
А>        protected override void OnPaint(PaintEventArgs pe)
А>        {
А>            base.OnPaint(pe);

А>            foreach (Control control in container.Components)
А>            {
А>                control.OnPaint(pe);
А>            }
А>        }
А>

А>На самом деле будет посложнее и отрисовываться будут не только наследники Control

Технологию озвучьте
Re[2]: Как сделать свой контейнер контролов?
От: Аноним  
Дата: 12.08.11 08:39
Оценка:
Здравствуйте, Codechanger, Вы писали:

C>Здравствуйте, Аноним, Вы писали:


А>>Проблема в общем то в отрисовке стандартных Control.

А>>Как реализовать что то вроде этого

А>>
А>>        protected override void OnPaint(PaintEventArgs pe)
А>>        {
А>>            base.OnPaint(pe);

А>>            foreach (Control control in container.Components)
А>>            {
А>>                control.OnPaint(pe);
А>>            }
А>>        }
А>>

А>>На самом деле будет посложнее и отрисовываться будут не только наследники Control

C>Технологию озвучьте

Net Winforms.
Народ хочет иметь свой собственный узко-специализированный грид "велосипед".
Нафига — лучше не спрашивать, так как библиотечный контрол уже есть и работает.
Re: Как сделать свой контейнер контролов?
От: AlexNek  
Дата: 12.08.11 17:08
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Проблема в общем то в отрисовке стандартных Control.

А>Как реализовать что то вроде этого

А>
А>        protected override void OnPaint(PaintEventArgs pe)
А>        {
А>            base.OnPaint(pe);

А>            foreach (Control control in container.Components)
А>            {
А>                control.OnPaint(pe);
А>            }
А>        }
А>

А>На самом деле будет посложнее и отрисовываться будут не только наследники Control
Что то мне подсказывает что это в принципе нельзя. В данном случает .НЕТ всего лишь обвертка к виндовым контролам. Если они "вставлены в родителя", то все и так будет прорисовываться, а если нет, то окошек просто не будет. То бишь можно сделать просто свой враппер контейнер, можно перекрыть прорисовку контролов, можно будет сделать свои "контролы", но данное решение не должно работать.
Cообщение написано в ... &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R5 rev. 7279&gt;&gt;
Re: Как сделать свой контейнер контролов?
От: BigObfuscator  
Дата: 13.08.11 13:10
Оценка: +1
Здравствуйте, Аноним, Вы писали:

А>Проблема в общем то в отрисовке стандартных Control.

А>Как реализовать что то вроде этого

А>
А>        protected override void OnPaint(PaintEventArgs pe)
А>        {
А>            base.OnPaint(pe);

А>            foreach (Control control in container.Components)
А>            {
А>                control.OnPaint(pe);
А>            }
А>        }
А>

А>На самом деле будет посложнее и отрисовываться будут не только наследники Control

Непонятно, зачем рисовать внутренние контролы, если они сами прорисовываются?

А если проблема в "Как сделать свой контейнер контролов?"
То это сделать так:

[Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(IDesigner))]
public class MyContainer : System.Windows.Forms.UserControl
{
...
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.