FIX: 切换选项卡的 SSTab 控件可能导致桌面重新绘制

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 279739
本文已归档。它按“原样”提供,并且不再更新。
症状
切换 SSTab 控件在一个循环内的 (Tab 属性设置) 的标签可能会导致在桌面和重新绘制及其子项的 (也就是所有的窗口出现闪烁)。
状态
已在 Visual Studio 中 (Visual Basic) 6.0 Service Pack 5,可以从下面的 Microsoft 网站以下载该修复此错误:
更多信息

重现行为的步骤

  1. 在 Visual Basic 中创建一个标准 EXE 项目。默认情况下创建 Form1。
  2. 项目 菜单上单击选择 组件,,然后再添加 Microsoft 选项卡式对话框控制 6.0
  3. 向 Form1 中添加一个 计时器SSTab 控件。
  4. 在 Form1 的代码窗格中添加以下代码:
    Private Sub Form_Load()    With Timer1        .Enabled = True        .Interval = 1000    End WithEnd SubPrivate Sub Timer1_Timer()    Dim i As Integer    For i = 0 To 2        SSTab1.Tab = i        'DoEvents    Next iEnd Sub					
  5. 按 F5 键运行该程序,并请注意桌面和子窗口闪烁每次计时器事件时触发。
  6. 停止该程序并取消对 DoEvents 行内 Timer1_Timer 注释。
  7. 运行该程序,并记下的桌面和子窗口不再闪烁。
  8. 最大限度地减少 Form1,并注意在台式机和子窗口再次闪烁。
: 此修补程序仅适用于该方案时窗体最小化。 因此,仍需要解决方法 (使用 DoEvents) 在前面的示例。

警告:本文已自动翻译

属性

文章 ID:279739 - 上次审阅时间:02/24/2014 00:47:55 - 修订版本: 1.1

Microsoft Visual Studio 6.0 企业版, Microsoft Visual Basic 6.0 专业版, Microsoft Visual Basic Enterprise Edition for Windows 6.0

  • kbnosurvey kbarchive kbmt kbbug kbfix kbqfe kbvs600sp5fix KB279739 KbMtzh
反馈