我正在尝试将文本“附加”到我用作日志窗口的 Richtextbox 以显示来自我的 Winforms 应用程序和其他服务类的事件。为了清楚起见,我想附加文本。
我已经尝试了这里建议的所有内容。我在表单中设置了一个公共属性,我创建了一个委托,我创建了一个类来处理它。但它不会附加文本,它要么清除窗口(当我使用时
var f = new Form1();
,我明白为什么会发生这种情况,因为它正在内存中创建一个新表单)
我最接近使它工作的是我写的以下课程。
class RichTextBoxAppend
{
public static void AddNewText(string message, Form1 f)
{
f.richLogWindow.AppendText(DateTime.Now.ToString() + ": " + message + "\r\n");
}
}
我通过以下方式从另一个类方法调用它:
public SomeClass{
public SomeMethod(){
//Some stuff happens here
RichTextBoxAppend.AddNewText("Some message", Form1);
}
}
我得到的错误是
'Form1' 是一种类型,在给定的上下文中无效
我不想在内存中创建一个新表单,因为这会清除 Richtextbox。
总之,我想从我的应用程序的任何地方“附加”文本,而不清除 Richtextbox。
TIA