【问题标题】:Reduce flashing In Between Form Transition减少表单转换之间的闪烁
【发布时间】:2014-12-04 18:12:23
【问题描述】:

我有一组两种不同语言的表单和一个可将您带到另一种语言的按钮。

目前我在单击按钮下使用 form1.show() 和 formEnglish.close()。但是,在它之间闪烁并显示桌面。

我试过了:

1) 双缓冲表单

2) SuspendLayout() 和 ResumeLayout()

但这些都没有帮助

表格是否可以从一种平滑过渡到另一种?

【问题讨论】:

  • 你是说,你打开同一个表单对象只使用不同的语言?
  • 不,它们是相似的板,具有相同数量的按钮和控件,因此希望过渡更顺畅
  • 一个表格必须走,另一个必须打开。尝试me.Hide, form.Show, me.Close 并在显示将me.show 第一行放入form_load 的表单上
  • 仍然严重闪烁
  • 你必须有很多控件预加载。像列表一样,是吗?

标签: vb.net winforms


【解决方案1】:

如果表单之间的唯一区别是语言,那么您可能需要研究适当的本地化技术。

如果您已确定当前计划,则可以通过首先加载其边界与当前表单完全匹配但显示在其后面的新表单来使其工作。然后让应用程序处理未决事件(以绘制新表单),然后关闭旧表单。在显示新表单后和关闭旧表单之前,您可能需要使用一点计时器延迟,以确保它已完全加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-27
    • 2011-08-26
    • 2012-06-05
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多