0

そのため、Visual Basic 2010 でいくつかのプログラミングを行ってきました。私のプログラムでは、メイン フォームのポイントにオブジェクトがあるかどうかを判断する必要があります [たとえば (20, 35)]。私は試した:

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) にあるかに関係なく、常に false です。

私の質問がよくわからない場合: Visual Basic 2010 でフォーム上のある点にオブジェクトがあるかどうかを確認するにはどうすればよいですか?

4

2 に答える 2

0

VB.NET でオブジェクトが特定の型であることをテストする方法は次のとおりです。

If TypeOf ObjectFind Is System.Windows.Forms.Form then
于 2013-07-25T14:32:26.057 に答える