Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Как передать объект ListBox в Control.ControlColle


Автор: LittleLoya 6.4.2013, 15:58
Всем привет!
Есть вкладки tabPage, на них контролы, TextBox, Label, ListBox. Хотелось бы забацать процедуру очистки, в которую передавать контролы с нужной tabPage. Вопрос, как очистить ListBox?

Пишу так

    Private Sub Cleaner(ByRef obj As My_Class, ByRef all_controls As Control.ControlCollection)
        For Each con As Control In all_controls
            If (TypeOf con Is TextBox) Or (TypeOf con Is Label) Then
                con.Text = ""
            ElseIf TypeOf con Is ListBox Then
                con.Items.Clear() 'на эту строку орёт матом (грит - "'Items' is not a member of 'System.Windows.Forms.Control'."
            End If
        Next
        obj = Nothing
        obj = New My_Class(Me)
    End Sub
Подскажите, пожалуйста, что я делаю не так и как надо?

Заранее всем спасибо!!!

Автор: Certain 15.4.2013, 15:44
Код

ElseIf TypeOf con Is ListBox Then
                con.Items.Clear() 'на эту строку орёт матом (грит - "'Items' is not a member of 'System.Windows.Forms.Control'."
            End If


попробуйте так

Код

ElseIf TypeOf con Is ListBox Then
                (con As ListBox).Items.Clear() 'на эту строку орёт матом (грит - "'Items' is not a member of 'System.Windows.Forms.Control'."
            End If

Я не знаю, на сколько это синтаксически правильно для VB.NET, но 
Вам нужно привести переменную типа Control к ListBox, а потом обращаться к свойству Items. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)