首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB.NET PictureBox / Controls

VB.NET PictureBox / Controls
EN

Stack Overflow用户
提问于 2014-05-09 19:25:45
回答 2查看 465关注 0票数 1

如此有趣的进退两难,我设法使一个标签完全不可见,在那里我可以使用它在图片的某些部分的点击事件。

然后,我使用这个单击事件调用另一个picturebox,使用picturebox3.visual= true.

我遇到的问题是,当它调用来自新picturebox (不可见标签)的picturebox visibility..the控件时,它在picturebox2中似乎无法正常工作或完全丢失。

我需要用大约30个不同的图片来创建一个“仿真器”项目的人。

对此有什么想法吗?如果需要的话我可以贴密码。Picturebox +控制picturebox =头疼。

代码语言:javascript
复制
    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.visual= true。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-13 02:24:59

我做了3个文本框

textbox1表示X‘只是为了让你看到

textbox2代表Y‘只是为了让你看到

CurPicture用于比较当前图像

我的画盒是300,300

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

代码语言:javascript
复制
    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

希望这能帮你上路:)

票数 1
EN

Stack Overflow用户

发布于 2014-05-10 02:43:35

使用:

代码语言:javascript
复制
Private Sub PictureBox_MouseDown(sender As Object, e As MouseEventArgs) _
  Handles PictureBox.MouseDown

    'The code to change the picture goes here

End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23572450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档