簡體   English   中英

將鼠標放在VB.net中生成的Picturebox上

[英]Mousedown on generated Picturebox in VB.net

所以,我有一些這樣的代碼:

Dim box As PictureBox = New PictureBox
Dim Y As Integer
Dim X As Integer
Dim RandomClass As New Random()


Private Sub enspawn_Tick(sender As Object, e As EventArgs) Handles enspawn.Tick
    For pos = 30 To 100
        Y = RandomClass.Next(530)
        X = RandomClass.Next(980)
        box.Location = New Point(X, Y)
    Next pos
    box.Size = New Size(60, 60)
    box.Image = VB.NET_Game___1st.My.Resources.Resources.bittenfleax
    Controls.Add(box)
End Sub

因此,基本上,這將在屏幕周圍生成隨機圖片框。 但是,我將如何制作它,以便在單擊(Mouse_Down)時會執行某些操作。

我真的不知道如何解決這個問題。 可能是這樣的:

If box_MouseDown Then
    MsgBox("Mouse has been pressed on the image box") 
End If 

我真的不確定。 提前致謝。

編輯

如果這是我的想法,我是否會創建一個新的“私人小組”來放置它? 還是會在Form_Load中?

對於需要AddHandler語句將其事件指向Sub的動態控件。 這些變量都不需要是類級別的。 不需要時可以節省存儲空間。

Private Sub enspawn_Tick(sender As Object, e As EventArgs) Handles enspawn.Tick
  Static RandomClass As New Random
  Dim box As New PictureBox
  box.Location = New Point(RandomClass.Next(980),RandomClass.Next(530))
  box.Size = New Size(60, 60)
  box.Image = VB.NET_Game___1st.My.Resources.Resources.bittenfleax
  AddHandler box.MouseDown, AddressOf box_MouseDown
  Controls.Add(box)
End Sub

Private Sub box_MouseDown(sender As Object, e As MouseEventArgs)
   ' sender is the PictureBox object
   Dim pb As PictureBox = DirectCast(sender, PictureBox)
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM