【问题标题】:Visual Basic 2010 Clearing a Picture BoxVisual Basic 2010 清除图片框
【发布时间】:2012-11-08 23:05:08
【问题描述】:

我正在尝试在 Visual Basic Studio 2010 中构建一个简单的扑克游戏。当我单击 btnShuffle 时,我将五个图像占位符指定为卡片的默认背面

btnShuffle_onClick......

    picFlop1.Image = My.Resources.BlankCard    //saved in my resources folder
    picFlop2.Image = My.Resources.BlankCard    //and so on and so on...

end sub

然后在我的 btnDeal 卡中,我尝试了所有版本的 picFlop1.Dispose()、picFlop1.Image = Nothing... 等我能找到的,似乎没有任何东西可以擦除空白图像。我尝试跳过明确的步骤,只是在空白卡上写下实际的面卡,但似乎没有显示扔了初始的空白卡..任何帮助都会很棒..

btnDeal_onClick...

   //find first five cards on deck and assign them by overwrite/delete blank card

   picflop1.Image = My.Resource.SomeCard  //Does Not Work
   picFlop1.Image.Dispose()     //Does Not Work
   picFlop1.Image = Nothing     //Does Not Work

end sub

更新

我正在分配这些空白卡...不是在洗牌功能中,而是在 timer1 间隔功能中..这与它有什么关系吗?上面列出的方法在 btnReset_onClick 中工作

_马特

【问题讨论】:

  • 设置Image = Nothing 应该可以工作。在没有事先清除的情况下设置为另一个图像也应该有效。我刚刚测试了这两个选项。
  • @Neolisk 我同意.. 每个网站都说同样的话.. 但是这两个选项都不适合我.. 我想知道为什么...
  • 是否将它们设置在 Timer 函数中与它有什么关系?
  • 你在定时器滴答事件中做什么?另外,请确保您没有设置 BackgroundImage,只有 Image 属性。设置Image = Nothing 应该是您所需要的。有什么绘画活动吗?

标签: vb.net visual-studio-2010


【解决方案1】:

怎么样?

PictureBox1.Image = New Image

【讨论】:

    【解决方案2】:

    假设picFlip是一个PictureBox,你有没有试过Invalidate(),然后在设置新图片后Update()?

    【讨论】:

      【解决方案3】:

      请仔细看一下计时器@LarsTech..

      显然,如果你不停止计时器,它会不断踢出代码来显示卡片的背面..所有其他代码都运行良好,只是在计时器前看不到它......谢谢大家..一如既往..你们最好!

      【讨论】:

        【解决方案4】:

        你必须

             PictureBox.Image = null
        

        之后你可以设置一个新的图像

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-05-09
          • 2023-03-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-10-11
          • 2011-11-22
          相关资源
          最近更新 更多