VB.NET 图片框/控件
Posted
技术标签:
【中文标题】VB.NET 图片框/控件【英文标题】:VB.NET PictureBox / Controls 【发布时间】:2014-06-27 15:45:03 【问题描述】:如此有趣的困境,我设法使标签完全不可见,以便我可以将其用于图片某些部分的点击事件。
然后,我使用该点击事件通过 picturebox3.visible = true 将另一个图片框调用为焦点。
我遇到的问题是当它调用图片框可见性时。新图片框(不可见标签)中的控件似乎无法正常工作或完全从图片框2中的图片中丢失。
我需要使用大约 30 张不同的图片来为某人创建一种“模拟器”项目。
对此有什么想法吗?如果需要,我可以发布代码。图片框 + 图片框上的控件 = 头痛。
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。
【问题讨论】:
摆脱标签。只需使用 PictureBox MouseDown 事件,检查坐标等。如果您有代码,那么是的,发布它。 已更新。代码非常简单,我只是不确定如何处理 mousedown 事件。 【参考方案1】:我做了 3 个文本框
textbox1 for X '仅供您查看
textbox2 for Y '仅供您查看
和
CurPicture 比较当前图像
我的图片框是 300,300
Private Sub PictureBox1_MouseClick(sender As Object, e As 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
希望这将帮助您继续前进:)
【讨论】:
【参考方案2】:用途:
Private Sub PictureBox_MouseDown(sender As Object, e As MouseEventArgs) _
Handles PictureBox.MouseDown
'The code to change the picture goes here
End Sub
【讨论】:
我该如何为特定区域设置呢?这就是让我感动的部分,我知道我可以在右下角看到 X、Y,但我如何使用它来设置点击区域来做特定的事情?以上是关于VB.NET 图片框/控件的主要内容,如果未能解决你的问题,请参考以下文章