【问题标题】:update winform from other class从其他类更新winform
【发布时间】:2009-12-15 23:11:02
【问题描述】:

我有一个包含在我的业务逻辑类的新实例被实例化时更新的控件的 winform。通过使用计时器,我班级中的字段(及其关联标签)每隔几秒更新一次。

这一切都很好,除了一个控件 - 一个作为所有活动日志的富文本框。

问题是这样的:虽然我希望在实例化新类时刷新所有其他控件,但我不希望刷新日志。我希望它存储所有以前的活动(来自当前会话;它不需要在应用程序生命周期之间持续存在。)

我显然不能将日志数据存储在类实例中,那么我应该使用什么方法呢?值得为此创建一个单例吗?

我应该如何在日志中添加一个条目?

【问题讨论】:

  • 我没有给你投反对票,但问题不清楚,你还没有发布任何代码,所以人们不太可能提供帮助:)
  • 不清楚为什么不能将日志数据存储在类实例中——任何东西都可以存储在类实例中。如果这是字符串数据,为什么不将其存储在表单中,或者表单包含的对象中?
  • +1 以平衡反对票,但根据肉体的建议,请提供更多信息。
  • 我完全配得上反对票——我写这篇文章很匆忙。然而,Andy West 发现了我的想法,并提出了将数据存储在表单中的建议。我想知道这是否是一个常见/可接受的过程。多谢你们! Andy - 随意(如果 SO 规则允许)将您的帖子升级为真正的答案,您的答案将被接受。
  • 好的,谢谢。我发表评论的唯一原因是因为我不确定如果没有更多信息我可以回答。我很高兴它有所帮助。这对于基本的日志记录来说是可以的,但如果它非常复杂,您可能需要听取 Judah 的建议。

标签: c# winforms


【解决方案1】:

当涉及到日志记录时,不要重新发明轮子。有一些免费、可靠的日志记录工具:

NLog

log4net

如果我没记错的话,NLog 内置支持将其日志写入文本框。

【讨论】:

    【解决方案2】:

    根据 fieldingmellish 的要求,作为我原始评论的答案发布

    如果这是字符串数据,您可以将其存储在表单中,或表单包含的对象中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-22
      • 2018-09-07
      • 2012-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多