tabControl1.TabPages.Add(caption);
tabControl1.TabPages[tabControl1.TabCount - 1].Controls.Add(new TextBox());
TextBox send_t = (TextBox)tabControl1.TabPages[tabControl1.TabCount - 1].Controls[0];
send_t.Dock = DockStyle.Bottom;
tabControl1.TabPages[tabControl1.TabCount - 1].Controls.Add(new ListBox());
ListBox users = (ListBox)tabControl1.TabPages[tabControl1.TabCount - 1].Controls[1];
users.Dock = DockStyle.Right;
tabControl1.TabPages[tabControl1.TabCount - 1].Controls.Add(new TextBox());
TextBox res_t = (TextBox)tabControl1.TabPages[tabControl1.TabCount - 1].Controls[2];
res_t.Multiline = true;
res_t.Dock = DockStyle.Fill;
res_t.ReadOnly = true;
res_t.BackColor = res_text.BackColor;
res_t.ScrollBars = ScrollBars.Vertical;
Проблема с Dock в .NET
Я во время исполнения проги хочу строить вкладки с контролами. В этом то проблемы никакой нету, но есть другая. Когда я применяю к контролам свойства DockStyle они докяться не друг к другу, а к самому контейнеру (в данном случае к вкладке), наезжая друг на друга.
Попробовал то же самое сделать с компонентами созданными в дизайнере, все работает корректно...
Вот код, динамического создания контролов на C#:
Код:
Плиз, помогите кто чем может :)
В Design-моде используется динамическая компиляция C#-кода, при помощи которой дизайнер студии получает картинку, отображаемую программисту при дизайне. Отсюда решение твоей проблемы в файле дизайнера XXX.Designer.cs. Ищешь тот код, который отвечает за докинг и копируй его в свой код.
Я в шоке! Сделал как было сказано выше, но, во-первых, там почти аналогичный код, что написал и я и, что самое хреновое, во-втрых это не помогло :(
З.Ы. если кому интересно, то выкрутился так: вот сокращенный код:
Код:
tabControl1.TabPages.Add(caption);
tabControl1.TabPages[tabControl1.TabCount - 1].Controls.Add(new Panel());
Panel pan = (Panel)tabControl1.TabPages[tabControl1.TabCount - 1].Controls[0];
pan.Dock = DockStyle.Fill;
pan.Controls.Add(new TextBox());
pan.Controls.Add(new TextBox());
TextBox tx1 = (TextBox)pan.Controls[0];
TextBox tx2 = (TextBox)pan.Controls[1];
tx1.Multiline=true;
tx1.Dock = DockStyle.Fill;
tx1.ScrollBars = ScrollBars.Vertical;
tx2.Dock = DockStyle.Bottom;
tabControl1.TabPages[tabControl1.TabCount - 1].Controls.Add(new Panel());
Panel pan = (Panel)tabControl1.TabPages[tabControl1.TabCount - 1].Controls[0];
pan.Dock = DockStyle.Fill;
pan.Controls.Add(new TextBox());
pan.Controls.Add(new TextBox());
TextBox tx1 = (TextBox)pan.Controls[0];
TextBox tx2 = (TextBox)pan.Controls[1];
tx1.Multiline=true;
tx1.Dock = DockStyle.Fill;
tx1.ScrollBars = ScrollBars.Vertical;
tx2.Dock = DockStyle.Bottom;