【问题标题】:How does Windows keep track of application window layout, and how do I reset it?Windows 如何跟踪应用程序窗口布局,以及如何重置它?
【发布时间】:2017-08-31 17:05:57
【问题描述】:

我刚刚从公司的 git repo 中提取了一段代码,第一次运行时,组件的布局很尴尬。虽然软件运行不正常,但我意识到源代码显示了具有该初始布局的窗口。这是一个用C#编写的windows forms应用程序,我的开发机器是Windows 7

我通过移动东西手动更改了布局,并终止了调试会话。现在,当我再次开始调试/执行时,会出现带有我配置的布局的窗口。我没有安装这个程序或任何东西,但 windows 会记住这个窗口的布局,我无法向团队的其他成员描述或演示初始布局。清理解决方案,重建等没有帮助。我可以删除本地 repo 并从头开始做所有事情,但这不是解决方案,只是一个烦人的解决方法。

这些信息保存在哪里,如何重置?

Ps:通过谷歌搜索解决方案是另一场噩梦,因为除了“windows layout history”等关键字我想不出...

【问题讨论】:

  • 我不确定您所说的“布局”是什么,但我敢打赌,是您的应用程序在某处写入/保存了恢复其最后一个“布局”所需的信息
  • 我对git不熟悉,但是在svn中,有一个revert函数可以将文件或项目恢复到最后一次提交。
  • 布局未持久化。问题肯定是您的视频 DPI 设置与上一台机器不同。
  • 在与编写代码的团队交谈后,我们发现有人在代码深处进行了自定义实现。所以史蒂夫是对的,但我不能将他的评论标记为已接受的答案。 @Steve,愿意回答,以便我可以接受您的回答是正确的吗?

标签: windows winforms


【解决方案1】:

编写自定义代码来保持窗口布局(位置、大小)和拆分面板(或网格列大小)等控件的布局并不少见。通常这样做是为了向最终用户呈现最后知道的布局。 Windows 不为此任务提供预先构建的解决方案,因为可能会出现意想不到的后果(考虑更改屏幕分辨率,然后将窗口恢复到现在的屏幕外位置)。

我确信是您的应用程序在某处写入/保存了恢复其上一个“布局”所需的信息

【讨论】:

    猜你喜欢
    • 2017-12-05
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    相关资源
    最近更新 更多