Arnold bin Boon Hoo Ответов: 2

Как определить тип объекта


Привет,

может ли кто-нибудь показать мне, как получить этот тип объекта?

У меня есть создать массив под классом object
и поместите несколько элементов пользовательского управления в массив

возможно ли это при вызове индекса массива
vb знаете, что это за тип объекта?

потому что на самом деле я хочу поставить прослушиватель событий на все это
спасибо

Что я уже пробовал:

пример кода:

dim _button as button = new button
dim _textbox as textbox = new textbox
dim _picturebox as picturebox = new picturebox

dim _objectArray() as object

_objectArray = new object() {}

_objectArray(_objectArray.count) = _button
_objectArray(_objectArray.count) = _textbox
_objectArray(_objectArray.count) = _picturebox

my idea was
for i as integer = 0 to _objectArray.count
addHandler _objectArray(i).MouseClick, addressOf BlaBlaBla
next

2 Ответов

Рейтинг:
15

Graeme_Grant

с макушки моей головы:

If TypeOf _textbox Is TextBox Then


Arnold bin Boon Hoo

Привет, приятель.
Спасибо за совет :)

Рейтинг:
11

F. Xaver

Если вы только вводите элементы управления своей формой, Лучший пользователь Control над Object
Кроме того список может быть лучше чем массив

Dim _button As Button = New Button
Dim _textbox As TextBox = New TextBox
Dim _picturebox As PictureBox = New PictureBox

Dim _ControlList As New List(Of Control)

_ControlList.Add(_button)
_ControlList.Add(_textbox)
_ControlList.Add(_picturebox)

For Each c As Control In _ControlList
    Select Case c.GetType
          Case GetType(TextBox)
              'addhandler stuff for textboxes
    End Select

   '//Update: or using TypeOf
   
    Select Case True
          Case TypeOf c Is TextBox
              'addhandler stuff for textboxes
    End Select

Next



как Graeme_Grant уже упомянутый TypeOf предназначен для проверки типов.
если у вас есть несколько вариантов выбора оператор Select Case может выполнить эту работу лучше


Arnold bin Boon Hoo

Привет приятель
Спасибо Вам за вашу помощь

Graeme_Grant

Все еще можно использовать TypeOf в Select Case. ;)

F. Xaver

да, правда, не думал об этой возможности, добавил сэмпл ;)