繁体   English   中英

VB.NET PictureBox /控件

[英]VB.NET PictureBox / Controls

如此有趣的困境,我设法使标签完全不可见,可以将其用于图片某些部分的单击事件。

然后,我使用该click事件使用picturebox3.visible = true调用另一个Picturebox使其成为焦点。

我遇到的问题是调用图片框可见性时..新图片框(不可见标签)中的控件似乎不起作用或完全不存在于picturebox2中的图片中。

我需要用大约30张不同的图片来完成此操作,以便为某人创建一种“模拟器”项目。

有什么想法吗? 如果需要,我可以发布代码。 Picturebox + PictureBox上的控件=头痛。

    Public Class InvisibleLabel
Inherits Label

Public Sub New()
    Me.SetStyle(ControlStyles.Opaque, True)
    Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, False)
End Sub
Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
    Get
        Dim CC As CreateParams = MyBase.CreateParams
        CC.ExStyle = CC.ExStyle Or &H20
        Return CC
    End Get
End Property

末级

这是不可见标签的代码,然后单击图片的某些部分时,我只是使用picturebox2.visible = true。

采用:

Private Sub PictureBox_MouseDown(sender As Object, e As MouseEventArgs) _
  Handles PictureBox.MouseDown

    'The code to change the picture goes here

End Sub

我做了3个文本框

X的textbox1,仅供您查看

用于Y的textbox2,仅供您查看

CurPicture比较当前图像

我的画框是300,300

私有子PictureBox1_MouseClick(作为对象发送,作为MouseEventArgs发送)处理PictureBox1.MouseClick

    Dim LocX As Integer = e.X
    Dim LocY As Integer = e.Y
    TextBox1.Text = e.X.ToString
    TextBox2.Text = e.Y.ToString

    If LocX > 200 Then ' click right side op the picture , change LocX With LocY to make it bottom
        If CurPicture.Text = "1" Then
            PictureBox1.Image = My.Resources.Pic2
            CurPicture.Text = "2"
        ElseIf CurPicture.Text = "2" Then
            PictureBox1.Image = My.Resources.Pic3
            CurPicture.Text = "3"
        ElseIf CurPicture.Text = "3" Then
            PictureBox1.Image = My.Resources.Pic4
            CurPicture.Text = "4"
        ElseIf CurPicture.Text = "4" Then
            PictureBox1.Image = My.Resources.Pic5
            CurPicture.Text = "5"
        ElseIf CurPicture.Text = "5" Then
            PictureBox1.Image = My.Resources.Pic1
            CurPicture.Text = "1"
        End If
    End If

End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    PictureBox1.Image = My.Resources.Pic1
    CurPicture.Text = "1"
End Sub

希望这可以帮助您:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM