[英]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.