Как проверить, существует ли объект в GroupBox - VB.NET - PullRequest
2 голосов
/ 06 января 2012

Как я могу проверить, существует ли объект (в данном случае мой объект - ButtonBox) внутри GroupBox, но в точном месте.

Примерно так:

If Groupbox1.NameOfButtonBox.location(40,190) exists then 
      Do my code 
end if 

Я знаю, что синтаксис совершенно неверен, но это всего лишь пример

Ответы [ 2 ]

1 голос
/ 06 января 2012

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

Private Function ButtonExists(ByVal group As GroupBox, ByVal x As Integer, ByVal y As Integer) As Boolean

    'No sense checking if there isn't a group box
    If group Is Nothing Then
        Return False
    End If

    'Find the control at the given point
    Dim ctrl As Control = group.GetChildAtPoint(New Point(x, y))

    'If there is a control at that point check to see if it's a button
    If ctrl IsNot Nothing AndAlso TypeOf (ctrl) Is Button Then
        Return True
    End If

    Return False
End Function
0 голосов
/ 06 января 2012

Получить GetChildAtPoint:

Dim ctrl As Control = GroupBox1.GetChildAtPoint(New Point(147, 96))
If TypeOf ctrl Is Button Then
    Dim btn As Button = DirectCast(ctrl, Button)
    'Do your code
End If

MSDN: метод Control.GetChildAtPoint

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...