【问题标题】:visual basic 6 Class Imagevisual basic 6 类图像
【发布时间】:2014-12-17 18:14:02
【问题描述】:

运行程序时出现错误。我想将图像更改为另一个图像,但图像不会改变。请帮我找出答案。

这是我的代码:

Public Image1Color As String
Public Image1 As Image

Public Sub CheckIn()
If Image1Color = "Green" Then
    Image1.Picture = LoadPicture("Color\red1.jpg")
    Image1Color = "Red"
Else
    MsgBox ("This table is already occupied!")
End If
End Sub

【问题讨论】:

  • 至少指定你得到的确切错误。我最好的猜测:你的路径不正确。
  • @RobIII 当我运行程序时,出现错误消息...消息说对象变量或未设置块变量
  • 使用调试器或确保您没有在某处使用“On error resume next”。除此之外:我们不是明眼人。我们需要准确的错误消息才能为您提供帮助。
  • @RobIII anw,你指的是哪条路??我是这个程序的新手...
  • 您提供了 10 行代码,其中一行包含路径。猜猜我的意思是什么?当然是“Color\red1.jpg”。你检查路径是否正确?

标签: class vb6


【解决方案1】:

试试这个:

Set Image1.Picture = LoadPicture("Color\red1.jpg")

(注意Set

【讨论】:

    【解决方案2】:

    您可以使用stdpicture

    Dim pic As New StdPicture
    Set pic = LoadPicture("")
    Set Me.Picture = pic
    

    在您的代码中,例如:

    Public Image1Color As String
    Public Image1 As New StdPicture
    
    
    
    Public Sub CheckIn()
    If Image1Color = "Green" Then
       Set Image1 = LoadPicture("Color\red1.jpg")
        Image1Color = "Red"
    Else
        MsgBox ("This table is already occupied!")
    End If
    End Sub
    

    【讨论】:

      【解决方案3】:

      您必须在代码中的某处初始化 Image1Color = "Green"

      如果您不初始化 Image1Color,那么它将是一个空字符串,并且始终转到您语句的 Else 部分

      [编辑]

      我刚刚阅读了您对错误消息的评论。

      将 Image 控件添加到表单并使用该 Image 控件比在代码中声明它更容易。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多