динамическое формирование елементов SplitContainer'a

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

nained
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 03.03.2006 (Пт) 7:58

динамическое формирование елементов SplitContainer'a

Сообщение nained » 22.06.2006 (Чт) 11:30

Многоуважаемые Гуру, Мастера и прочие себя к ним относящие!
Прошу отнестись с нисхождением и объяснить пару базовых вещей связанных с программированием vb.net


у меня есть SplitContainer:
Panel1 - включает в себя TreeView
Panel2 - формируется в зависимости оттого, что выбрано в TreeView.

Я наивно предполагал, что будет достаточно нарисовать n-e количество форм, и в дальнейшем, в главной форме вызывать ту или иную форму для представления ее в Panel2

Dim callForm As New frmNeobhodimayaForma
Me.SplitContainer1.Panel2.Controls.Add(callForm)

На что дебагер высказал следующее “ArgumentException was unhandled”
И в этот момент все мои светлейшие идеи рухнули под натиском недопонимания.

Писать весь код одной кучей крайне не хочется, есть желание разнести по логическим блокам.
Объясните как это лучше сделать или дайте что-нибудь почитать на эту тему.

и второе:
большое количество информации представляется в виде таблиц. Отпитамьным решение для этого, на мой взгляд, было бы использование Excel страниц, но решить вопрос каким образом можно интегрировать объект Excel с форму я не нашел.

Подскажите альтернативный объект.
Последний раз редактировалось nained 22.06.2006 (Чт) 12:11, всего редактировалось 1 раз.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 22.06.2006 (Чт) 11:38

Собственно, либо реально формируй весь набор контролов каждый раз, либо показывай одну из заранее подготовленных страниц, остальные прячь.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

nained
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 03.03.2006 (Пт) 7:58

Сообщение nained » 22.06.2006 (Чт) 12:44

в Access есть тип контрола Subform/Subreport (подчиненная форма)
сеществует ли в VB.net чтото подобное. Это полностью бы решило задачу.

nained
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 03.03.2006 (Пт) 7:58

Сообщение nained » 22.06.2006 (Чт) 13:12

УРА!!!

получилось следующим образом
Код: Выделить всё
Public Sub initSplit()
....
....

Dim den As New Form2
        TestEmbForm(den, Me)

        ' Set properties of the first SplitContainer control.
        With Me.splitContainer1
            .Dock = System.Windows.Forms.DockStyle.Fill
            .TabIndex = 1
            .SplitterWidth = 4
            .SplitterDistance = 100
            .Orientation = Orientation.Horizontal
            .Panel1.Controls.Add(Me.listView1)
            .Panel2.Controls.Add(den)
            '.Panel2.Controls.Add(Me.richTextBox1)
        End With
......
.....
    End Sub


  Public Shared Function TestEmbForm(ByRef EmbForm As Form, ByRef ParentObject As Object)
        EmbForm.FormBorderStyle = FormBorderStyle.None
        EmbForm.Dock = DockStyle.Fill
        EmbForm.TopLevel = False
        EmbForm.Parent = ParentObject
        EmbForm.Visible = True
    End Function


подходящий ответ нашел здесь:
http://www.sql.ru/forum/actualthread.aspx?tid=103015

Свем спасибо :)


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 81

    TopList