2011-09-20 139 views
0

我的窗口缩略图上有几个ThumbnailToolBarButtons。一个是播放/暂停按钮。我其实有两个按钮,一个用于播放,另一个用于暂停。当我点击按钮时,它会隐藏一个,并使用ThumbnailToolBarButton的Visible属性显示另一个。然而,如果我点击播放/暂停按钮,窗口缩略图就会弹起来,所有的都变得非常宽,突然我只看到两个按钮。如果我让窗口缩略图消失并再次翻转,则所有按钮都会返回并显示正确的宽度。这里发生了什么?谢谢。设置ThumbnailToolBarButton的可见性

更新:好的。这里有一些代码作为例子。

private ThumbnailToolBarButton buttonPrevious; 
private ThumbnailToolBarButton buttonNext; 
private ThumbnailToolBarButton buttonPlay; 
private ThumbnailToolBarButton buttonPause; 
private Boolean bPlaying = false; 

private void Form1_Load(object sender, EventArgs e) 
{ 
    buttonPrevious = new ThumbnailToolBarButton(Properties.Resources.previous, "Previous"); 
    buttonPrevious.Click += new EventHandler<ThumbnailButtonClickedEventArgs>(buttonPrevious_Click); 
    buttonPrevious.Visible = true; 

    buttonNext = new ThumbnailToolBarButton(Properties.Resources.next, "Next"); 
    buttonNext.Click += new EventHandler<ThumbnailButtonClickedEventArgs>(buttonNext_Click); 
    buttonNext.Visible = true; 

    buttonPlay = new ThumbnailToolBarButton(Properties.Resources.play, "Pause/Pause"); 
    buttonPlay.Click += new EventHandler<ThumbnailButtonClickedEventArgs>(buttonPlay_Click); 
    buttonPlay.Visible = true; 

    buttonPause = new ThumbnailToolBarButton(Properties.Resources.pause, "Play"); 
    buttonPause.Click += new EventHandler<ThumbnailButtonClickedEventArgs>(buttonPlay_Click); 
    buttonPause.Visible = false; 

    TaskbarManager.Instance.ThumbnailToolBars.AddButtons(this.Handle, buttonPrevious, buttonPlay, buttonPause, buttonNext); 
} 

private void buttonPlay_Click(object sender, ThumbnailButtonClickedEventArgs e) 
{ 
    bPlaying = !bPlaying; 

    buttonPlay.Visible = bPlaying ? false : true; 
    buttonPause.Visible = bPlaying ? true : false; 
} 
+0

也许,而不是显示一个或隐藏其他的我应该只是被换出的图像,但唉,我搜遍了网络,无法找到如何去做。 –

+1

你能用一些代码来显示我们如何使用ThumbnailToolBarButtons来编辑你的问题吗? –

回答

1

尝试修炼播放/暂停按钮变成一个按钮,并在单击事件处理程序写:

if (buttonPlayPause.Icon == Properties.Resources.play) 
    buttonPlayPause.Icon = Properties.Resources.pause; 
else 
    buttonPlayPause.Icon = Properties.Resources.play; 
+0

这是我尝试的第一件事情之一。它实际上并没有改变这个图标......你会认为它会,但是不会。 –

+0

既然,我会失去声望点,而且你是唯一回答的问题,而且赏金在几分钟内就会结束,你可以得到赏金。不妨将它交给某人。 –

+0

Wha!?好吧,现在它可以工作。让我困惑的颜色。好吧。那时赏金赚了。谢谢。 –