如何在表单中使项目静态

时间:2015-07-20 03:54:35

标签: c# .net static

我的表单中有一个列表框项,它从一个必须是静态的类更改。因此,我尝试将脚本放入不同的非静态类中:

  private void addChat(string talk, string user)
   {
           console.Items.Add(user + ": " + talk);
   }

从这里开始:

   static void OnMessage(object sender, PlayerIOClient.Message m)
    {
     //Code...
     string username = users[m.GetInt(0)]; //public static Dictionary<int, string> users = new Dictionary<int, string>();
     addChat(m.GetString(1), username);
     //More code...
    }

但是我得到了这个错误:

  

非静态字段,方法或属性需要对象引用“NAME.Form1.addChat(string,string)&#39;

将此类设为静态会出现此错误:

  

非静态字段,方法或属性需要对象引用&#39; NAME.Form1.console&#39;

如何使控制台(哪个列表框)静止?

1 个答案:

答案 0 :(得分:0)

不太确定你想要实现的目标。但是,通常您可以将静态逻辑移动到静态类并在UI类中使用它。

在您的静态课程中

private static string formatChat(string talk, string user)
{
   string.Format("{0} : {1}", user, talk);
}

在您的UI类中:

private void addChat(string talk, string use)
{
    console.Items.Add(formatChat(string talk, string use));
}