【问题标题】:accessing form variables from class in dll从 dll 中的类访问表单变量
【发布时间】:2013-09-06 15:04:53
【问题描述】:

我有一个 dll,它有一个接口类和一个表单。

public class Main : M.ModuleInterface
{
    void M.ModuleInterface.showForm()
    {
        Form1 frm = new Form1();
        frm.ShowDialog();
    }

    List<byte> M.ModuleInterface.ReadAll()
    {
        List<byte> buffer = new List<byte>();
        return buffer;
    }
}

问题是我有一个文本框,我想从 dll 的表单中读取值,并能够从 ReadAll() 方法访问/传递它,并在可能的情况下从接口类设置访问控制。我怎样才能做到这一点?我在 Form1.cs 上创建了带有公共静态成员的公共静态类,但我无法使用 frm.MyStaticClass 访问它。谢谢!

【问题讨论】:

  • 您是说Form1 上有一个文本框您希望能够在ReadAll 中访问吗?
  • @DStanley 是正确的,如果可能的话,也可以使用其他方式。

标签: c# winforms dll interface


【解决方案1】:

您没有提供足够的信息来回答个人问题。但这是我从 dll 访问表单的方式。假设我们有一个类,其 dll 文件如下所示:

namespace smth
{
    public partial class mytest : Form
    {
        public TextBox txt;

        public mytest()
        {
            InitializeComponent();
        }
    }
}

然后我们会像这样将表单加载到我们的项目中:

Assembly assembly = Assembly.LoadFile("C:\\mydllfile.dll");
Type type = assembly.GetType("smth.mytest");
Form form = (Form)Activator.CreateInstance(type);

现在您可以访问 form.txt。 希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2013-04-15
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多