【问题标题】:can we access form controls from an external assembly (dll assembly not within the project)?我们可以从外部程序集(不在项目中的 dll 程序集)访问表单控件吗?
【发布时间】:2011-04-08 21:54:53
【问题描述】:

我必须从引用的程序集中访问运行表单的标签控件以动态更改标签文本。我的应用程序扫描所选文件夹的所有文件。我必须显示当前正在进行的文件的名称。

我们可以从外部程序集(不在项目中的 dll 程序集)访问表单控件吗?

【问题讨论】:

    标签: c# window


    【解决方案1】:

    您的 DLL 可能会触发事件,例如FileProcessing 传递了一些信息(当前文件名等),然后您的 c# 应用程序可以订阅这些信息,这样您的 DLL 就不必知道正在使用它的应用程序的任何信息,并且您的应用程序可以只更新每个标签引发事件的时间...这是 MSDN 上的 overview of events for c#

    编辑
    试试这个代码项目文章"The Simplest C# Events Example imaginable"。它说它被设计为只是被复制/粘贴到一个新项目中,所以你应该能够得到一个快速工作的例子来了解这个概念。关于您的情况,Metronome 将是您的文件系统扫描程序,而不是“Tick 事件”,您有 FileProcess/FileScan 事件。示例中的侦听器将是您的 C# UI 应用程序。这样,您的 c# 应用程序基本上是在等待您的文件扫描程序引发事件,此时它可以使用传递的信息(链接中的示例)来更新标签

    【讨论】:

    • 能否提供示例代码?这将是很大的帮助。
    猜你喜欢
    • 2020-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 2019-07-17
    • 2023-03-10
    • 1970-01-01
    • 2018-10-15
    相关资源
    最近更新 更多