3

我正在开发一个 C# 项目(.net 3.5,visual studio 2008),并有一个简单的问题要问大家:

是否可以删除从未使用过的控件?

我的意思是,是否可以删除已添加到表单但尚未在代码库中的任何位置(设计器之外)引用的控件?

我正在查看的 WinForms 内容有数十个具有通用名称(“textBox1、按钮 4 等)的控件,这些控件不被代码库使用(甚至不被用户看到)。

大多数表单在控件之上都有控件(不是我的决定),并且面板和拆分器有很多分层。这导致了一些控件隐藏在视图中的情况,这些控件永远不会被使用或附加到任何事件处理程序。

我担心这些额外的控件会留下很大的内存占用,或者导致性能问题——我已经看到表单在使用约 10 分钟后变得迟钝。

显然,我不想跳入设计器文件并开始删除对不必要控件的引用。代码库被检入到源代码控制中,但是自从它第一次被检入以来,已经有很多很多很多的提交

我正在考虑迭代以下模式:

  • 切割面板
  • 将其粘贴到一个新的(空)项目中
  • 删除我知道在主项目中未使用的任何控件(任何具有通用名称的控件)
  • 将面板粘贴回主项目并重新构建(以检查错误)

有没有(可能)更快的方法来做到这一点?有没有更安全的方法来做到这一点?是否有任何我可以针对代码库运行的第三方工具(可能类似于分析器?)可以告诉我应该删除哪些控件?

谢谢

4

2 回答 2

0

@它的坏习惯。保持项目中未使用的控制..

作为技术视图,它在页面加载/母版页加载时会产生问题......它向您显示异常......

注意:永远不要在母版页中保留注释代码......如果服务器不理解发布的代码..它会显示页面但我们无法执行它

于 2012-06-19T10:44:12.313 回答
0

您可能不想删除所有未编码的控件。然后,您将删除对 UI 有贡献但从未从设计器外部引用的面板和标签。

我在这里看到两个不同的问题。

一个是你有一个“滞后”的形式。为此,只需运行一个分析器,也许还有一个内存分析器来找到这个问题的根源。然后解决这个问题。工作完成,用户满意。

另一个是如果有额外的控件对用户体验没有任何贡献,例如它们总是隐藏的。这不会给用户带来任何问题,但意味着使用更多控件来维护代码可能会更加困难。我建议手动检查并识别这些并删除它们。任何自动化工具都会出错。

第一个问题可能是更高的优先级。

于 2013-09-26T02:47:33.303 回答