正在更新GUI表单单独类

本文关键字:表单 单独类 GUI 更新 | 更新日期: 2023-09-27 18:30:07

所以我在过去的几个小时里一直在搜索,阅读了关于如何从另一个类更新表单GUI的所有内容。我尝试过、后台工作人员和Invoke,但似乎都不起作用,或者更确切地说,我做得不对。(我对c#还很陌生)那么…为什么这个方法根本不起作用?

表格1:

 private void button2_Click_1(object sender, EventArgs e)
    {
        prog.stuff();
    }
    public void Updateprogressbar(int input)
    {
        progressBar1.Value = input;
    }

Class Prog

 public static void stuff()
    {
        Form1 f = new Form1();
        int up = 100;
        f.Updateprogressbar(up);
    }

我知道这可能是一个很容易的问题,但我还是想不通。进度条不会更新。我确实让所有的东西都能在房产里公开。无论如何,谢谢。

正在更新GUI表单单独类

private void button2_Click_1(object sender, EventArgs e)
    {
        prog.stuff(this);
    }
    public void Updateprogressbar(int input)
    {
        progressBar1.Value = input;
    }

 public static void stuff(Form f)
    {
        int up = 100;
        f.Updateprogressbar(up);
    }

因此,您可以看到代码不起作用的原因是,您实例化的Form1的新实例只在stuff()方法中有效。在我的代码中,我通过允许我访问Form1的方法,将Form1的引用传递到类Prog.Stuff中。