从外部

时间:2017-01-25 17:49:12

标签: windows forms c++-cli

我有一个Windows Form C ++应用程序。在其中我有一个成员写入日志(各种事件的“WriteLog”条目。 (在公共ref class Form1 :)     public:Void WriteLog(System :: Int32,System :: Int32,System :: String ^);

现在我创建了一个单独的类,我想在其中使用WriteLog函数(例如,在构造期间,写入创建对象的日志)。但我无法访问该功能。我不知道如何获取Form1对象,它似乎没有对象名称。没有    formname = gcnew表格。 我发现的唯一的事情是    “Application :: Run(gcnew Form1());”

我希望能够将Writelog称为    formname-> WRITELOG(1,1, “测试”)

我完全得到了封装的概念,概述如下。但我想访问Form类的成员函数 Referencing Windows Form elements in other classes

1 个答案:

答案 0 :(得分:-1)

3个选项: 1)使WriteLog和所有涉及的成员成为Form1的静态成员函数。然后在没有对象的情况下调用Writelog。

2)在Form1(clean)

之外创建一个单独的Writelog对象

3)使用内置的Write函数Trace :: WriteLine

我选择了第一个,因为我已经编写了这样的代码,而Writelog也同时更新了Form文本框。 (我知道,也不干净)。重写会更多。 谢谢Hans P,你说完了。