Toolbar最关键的属性是Transparent,该属性在DoubleBuffered情况下非常容易出现黑色背景的问题,即整个Toolbar的背景全部为黑色,无法辨识。在Windows开启主题(例如XP、Win7等主题)情况下特别严重。
经实践分析,这是由于Toolbar在Transparent属性为True且DoubleBuffered为True的情况下无法绘制Toolbar的默认背景下导致的问题。
解决方案:
明白原理后,解决方案其实非常简单:
方案1、不使用Toolbar的Transparent属性,即设置Toolbar的Transparent属性为False;
方案2、将Toolbar放置到父类容器中(比如Coolbar或者Controlbar),由父类去管理Toolbar的背景绘制。