c#从静态函数调用Windows窗体

本文关键字:Windows 窗体 函数调用 静态 | 更新日期: 2023-09-27 18:11:36

我必须从静态函数添加一个项目在listBox1,但它不工作,因为静态^^;是否有可能从c#中的静态函数调用windows窗体(如listBox1) ?

我想做什么:

public static void ListBoxTest() 
{
    listBox1.Items.Add("something");
}

c#从静态函数调用Windows窗体

如果不创建实例,就不能访问静态方法中的非静态方法,否则可以使用如下方法,通过更改函数签名:

public static void ListBoxTest(ListBox listBox1) 
{
    listBox1.Items.Add("something");
}

并调用函数

ListBoxTest(listBox1);

你可以试试;

private static Form1 _instance;
public Form1()
{
   InitializeComponent();
   _instance = this;
}
public static void ListBoxTest() 
{
    _instance.listBox1.Items.Add("something");
}