2013-07-25 62 views
0

因此,我一直在Visual Basic 2010中進行一些編程。對於我的程序,我需要確定主窗體上某個點上是否有對象[例如( 20,35)]。我想:Visual Basic 2010在窗體上的一個點上查找對象

Dim ObjectFind as object 
ObjectFind = Me.GetChildAtPoint(20, 35) 

我不知道,如果這個工程,ObjectFind通常等於{} System.Windows.Forms.Form中 所以我想,如果ObjectFind不等於{System.Windows.Forms.Form中}那會我有一個不同的對象那裏,所以我所做的:

If ObjectFind <> System.Windows.Forms.Form then 
    ' Code is here 
end if 

但Visual Basic中說,System.Windows.Forms.Form中不能在一個條件下使用。 我做了大量的研究,並沒有找到關於如何在visual basic中找到一個對象的地方。

我也試過:

If ObjectFind.Equals(System.Windows.Forms.Form) = false then 
    ' Code is here 
end if 

我得到了同樣的錯誤了。
由於System.Windows.Forms.Form中的主要形式,我想:

If ObjectFind.Equals(Me) = false then 
    ' Code is here 
end if 

但後來它總是假不管是什麼物體在(20,35)

如果你不知道我的問題是:如何查看Visual Basic 2010中的窗體上是否有對象?

+0

你說,「我需要確定是否有是主要形式上的一個點上的對象......「按對象,你是指某種類型的控件? – dbasnett

回答

0

這裏是你如何測試對象是某一類在VB.NET:

If TypeOf ObjectFind Is System.Windows.Forms.Form then 
0

Instad第一,如果使用下列內容:

If ObjectFind.GetType() <> GetType(System.Windows.Forms.Form) Then 

End If 
+0

在測試項目中,這種做類型比較的方法對我無效。可能是因爲在我的情況下,ObjectFind是從表單派生的,而不僅僅是一個表單。必須使用這個:'如果ObjectFind.GetType.IsSubclassOf(GetType(Form))Then'。 – Neolisk

相關問題