非静态字段,方法或属性需要对象引用

时间:2013-12-30 15:35:28

标签: c# winforms

我的表单中包含以下代码:

    public static void setRichText(string TextIn)
    { 
        rtxStatus.AppendText(TextIn);
    }

我有一个richtextbox打印控件,我想以不同的格式(一些粗体,一些常规文本)附加文本。

这样我就可以将文本附加到表单中的控件然后打印出来。

在我的课程中,我有这个代码将文本附加到控件,并在整个文本文件格式化和附加后,我将打印富文本控件的内容。

    frmCashierPrinting.setRichText(pqRequests[s]);

pqRequests是通过在字符串上使用Split填充的数组或列表)

但是我收到编译错误:

  

非静态字段,方法或者需要对象引用   property'BCPrintQ.frmCashierPrinting.rtxStatus'

请问我做错了什么?

1 个答案:

答案 0 :(得分:5)

您的代码失败,因为setRichText被定义为静态方法,即使您使用对象引用调用它也是如此。

从方法声明中删除static关键字,即:

public void setRichText(string TextIn)
{ 
    rtxStatus.AppendText(TextIn);
}

您还需要确保setRichText的所有调用方都使用对现有Form的引用来调用该方法,而不是将其作为静态方法访问。