Vb.net Visual Basic 2010在窗体上的某个点查找对象
所以我一直在用VisualBasic2010编程。对于我的程序,我需要确定主窗体上的某个点是否有对象[例如(20,35)]。我试过:Vb.net Visual Basic 2010在窗体上的某个点查找对象,vb.net,visual-studio-2010,object,Vb.net,Visual Studio 2010,Object,所以我一直在用VisualBasic2010编程。对于我的程序,我需要确定主窗体上的某个点是否有对象[例如(20,35)]。我试过: Dim ObjectFind as object ObjectFind = Me.GetChildAtPoint(20, 35) If ObjectFind.Equals(Me) = false then ' Code is here end if 我不确定这是否有效,ObjectFind通常等于{System.Windows.For
Dim ObjectFind as object
ObjectFind = Me.GetChildAtPoint(20, 35)
If ObjectFind.Equals(Me) = false then
' Code is here
end if
我不确定这是否有效,ObjectFind通常等于{System.Windows.Forms.Form}
所以我想,如果ObjectFind不等于{System.Windows.Forms.Form},那么我会发现那里有一个不同的对象,所以我做了:
If ObjectFind <> System.Windows.Forms.Form then
' Code is here
end if
我犯了和以前一样的错误。由于System.Windows.Forms.Form是我尝试的主要表单:
Dim ObjectFind as object
ObjectFind = Me.GetChildAtPoint(20, 35)
If ObjectFind.Equals(Me) = false then
' Code is here
end if
但不管是什么对象,它总是错误的(20,35)
如果您不确定我的问题是:如何在VisualBasic2010中找出表单上某个点是否有对象 以下是如何在VB.NET中测试对象是否为特定类型:
If TypeOf ObjectFind Is System.Windows.Forms.Form then
如果使用以下设备,则安装第一个:
If ObjectFind.GetType() <> GetType(System.Windows.Forms.Form) Then
End If
如果ObjectFind.GetType()GetType(System.Windows.Forms.Form)那么
如果结束
这种进行类型比较的方法在测试项目中对我不起作用。可能是因为在我的例子中,ObjectFind派生自一个表单,而不仅仅是一个表单。必须使用此选项:如果ObjectFind.GetType.IsSubclassOf(GetType(Form)),则
。您说,“我需要确定主窗体上的某个点上是否有对象…”您指的是某种控件吗?