Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SplitContainer 
:(
    Опции темы
IEZ
Дата 17.8.2008, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 10.2.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 3



Приветствую Всех!
Пишу прогу с динамически собираемым интерфейсом, т.е.
прикрепляю TreeView в панели на SplitContainer.
Но есть проблема.

Внешний вид должен получиться такой (см.аттач). 

Присоединённый файл ( Кол-во скачиваний: 26 )
Присоединённый файл  splitdest.png 45,80 Kb


--------------------
"Нужно делать так, как нужно, а как не нужно, делать не нужно" (с) Винни-Пух.
PM MAIL WWW ICQ   Вверх
IEZ
Дата 17.8.2008, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 10.2.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 3



А получается так (см. аттач).
Т.е. SplitContainer заползает под меню и панель инструментов и может под строку состояния.

Вот весь текст примера приложения:

Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Test
{
    public partial class Form1 : Form
    {
        SplitContainer splitContainer1 = null;

        TreeView treeView1 = null;
        TreeView treeView2 = null;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            treeView1 = new System.Windows.Forms.TreeView();
            treeView1.Dock = System.Windows.Forms.DockStyle.Fill;
            treeView1.Nodes.Add("treeView");

            treeView2 = new System.Windows.Forms.TreeView();
            treeView2.Dock = System.Windows.Forms.DockStyle.Fill;
            treeView2.Nodes.Add("treeView");

            splitContainer1 = new System.Windows.Forms.SplitContainer();

            splitContainer1.Anchor = AnchorStyles.Top | AnchorStyles.Left;
            splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
            splitContainer1.Name = "splitContainer1";
            splitContainer1.Size = new System.Drawing.Size(this.Width, this.Height);
            splitContainer1.SplitterDistance = 230;
            splitContainer1.TabIndex = 0;

            splitContainer1.Panel1.Controls.Add(treeView1);
            splitContainer1.Panel2.Controls.Add(treeView2);

            this.Controls.Add(splitContainer1);
        }

        private void saveToolStripMenuItem_Click(object sender, EventArgs e)
        {
            treeView1.Dispose();
            treeView2.Dispose();
            splitContainer1.Dispose();
        }
    }
}




Что нужно сделать, чтобы исправить проблему?
Спасибо.


Присоединённый файл ( Кол-во скачиваний: 21 )
Присоединённый файл  splitsrc.png 46,90 Kb


--------------------
"Нужно делать так, как нужно, а как не нужно, делать не нужно" (с) Винни-Пух.
PM MAIL WWW ICQ   Вверх
QryStaL
Дата 17.8.2008, 03:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 3
Всего: 32



Вместо

Код

this.Controls.Add(splitContainer1);


пиши так:

Код

this.toolStripContainer1.ContentPanel.Controls.Add(splitContainer1);



--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
IEZ
Дата 17.8.2008, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 10.2.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 3



Цитата(QryStaL @  17.8.2008,  03:33 Найти цитируемый пост)
пиши так:

Выделить всёкод C#
1:
    
this.toolStripContainer1.ContentPanel.Controls.Add(splitContainer1);

Чего-то не понятная строка.

Но у меня другой косяк в проге.
Не пойму, заменил TreeView на ListView (как указано в измененном коде)
и все, не работает. И не могу понять почему такой бред.

Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Test
{
    public partial class Form1 : Form
    {
        SplitContainer splitContainer1 = null;

        ListView listView1 = null;
        ListView listView2 = null;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ListViewItem item1 = null;
            ListViewItem item2 = null;
            ListViewItem item3 = null;

            listView1 = new ListView();
            listView1.Dock = System.Windows.Forms.DockStyle.Top;

            listView1.View = View.Details;
            listView1.AllowColumnReorder = true;
            listView1.CheckBoxes = true;
            listView1.FullRowSelect = true;
            listView1.GridLines = true;
            listView1.Sorting = SortOrder.Ascending;

            item1 = new ListViewItem("item1", 0);
            item1.Checked = true;
            item1.SubItems.Add("1");
            item1.SubItems.Add("2");
            item1.SubItems.Add("3");
            item2 = new ListViewItem("item2", 1);
            item2.SubItems.Add("4");
            item2.SubItems.Add("5");
            item2.SubItems.Add("6");
            item3 = new ListViewItem("item3", 0);
            item3.Checked = true;
            item3.SubItems.Add("7");
            item3.SubItems.Add("8");
            item3.SubItems.Add("9");

            listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left);
            listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left);
            listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left);
            listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center);

            listView1.Items.AddRange(new ListViewItem[] { item1, item2, item3 });




            listView2 = new ListView();
            listView2.Dock = System.Windows.Forms.DockStyle.Top;

            listView2.View = View.Details;
            listView2.AllowColumnReorder = true;
            listView2.CheckBoxes = true;
            listView2.FullRowSelect = true;
            listView2.GridLines = true;
            listView2.Sorting = SortOrder.Ascending;

            item1 = new ListViewItem("item1", 0);
            item1.Checked = true;
            item1.SubItems.Add("1");
            item1.SubItems.Add("2");
            item1.SubItems.Add("3");
            item2 = new ListViewItem("item2", 1);
            item2.SubItems.Add("4");
            item2.SubItems.Add("5");
            item2.SubItems.Add("6");
            item3 = new ListViewItem("item3", 0);
            item3.Checked = true;
            item3.SubItems.Add("7");
            item3.SubItems.Add("8");
            item3.SubItems.Add("9");

            listView2.Columns.Add("Item Column", -2, HorizontalAlignment.Left);
            listView2.Columns.Add("Column 2", -2, HorizontalAlignment.Left);
            listView2.Columns.Add("Column 3", -2, HorizontalAlignment.Left);
            listView2.Columns.Add("Column 4", -2, HorizontalAlignment.Center);

            listView2.Items.AddRange(new ListViewItem[] { item1, item2, item3 });



            splitContainer1 = new System.Windows.Forms.SplitContainer();

            splitContainer1.Anchor = AnchorStyles.Top | AnchorStyles.Left;
            splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
            splitContainer1.Name = "splitContainer1";
            splitContainer1.Size = new System.Drawing.Size(this.Width, this.Height);
            splitContainer1.SplitterDistance = 230;
            splitContainer1.TabIndex = 0;
            splitContainer1.BorderStyle = BorderStyle.Fixed3D;

            splitContainer1.Panel1.Controls.Add(listView1);
            splitContainer1.Panel2.Controls.Add(listView2);

            this.Controls.Add(splitContainer1);

            splitContainer1.BringToFront();
        }

        private void saveToolStripMenuItem_Click(object sender, EventArgs e)
        {
            listView1.Dispose();
            listView2.Dispose();
            splitContainer1.Dispose();
        }
    }
}


Результат в аттаче.


Присоединённый файл ( Кол-во скачиваний: 20 )
Присоединённый файл  splitlv.png 54,95 Kb


--------------------
"Нужно делать так, как нужно, а как не нужно, делать не нужно" (с) Винни-Пух.
PM MAIL WWW ICQ   Вверх
Partizan
Дата 20.8.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



listView1.Dock = System.Windows.Forms.DockStyle.Fill;


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0673 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.