2015-10-29 3 views
1

Мне нужно сделать простой If-Statement, чтобы сделать PictureBox невидимым, пока он находится над другим PictureBox.Выбрать весь PictureBox в VB

Есть ли способ выбрать область изображения?

Вот что я получил за заявление, если:

moon.left-= 10 

If moon.left = earth.right Then 
    moon.visible=False 
Else 
    moon.Visible = True 
End If 

С моим утверждением, он просто исчезает на секунду.

Я использую Timer для анимации.

+0

Вы моделируете затмения, я думаю :) –

+0

Вы можете использовать ZIndex для наложения. –

ответ

1

Вы должны учитывать полную ширину изображений. Это предполагает, что вы двигаетесь луной, и что вы не должны учитывать вертикальную ось:

If (moon.Left <= earth.Right AndAlso moon.Left >= earth.Left) OrElse (moon.Right <= earth.Right AndAlso moon.Right >= earth.Left) Then 

    moon.Visible = False 

Else 

    moon.Visible = True 

End If 
1

Просто использовать этот код, нет необходимости в Условном заявлении:

moon.Visible = Not moon.Bounds.IntersectsWith(earth.Bounds) 

луна будет невидимой, когда она пересечет землю.

Смежные вопросы