c# 从另一个类访问 WinForm 控件属性

2024-04-01

如何访问 WinForm 控件,例如ProgressBar来自另一个类的属性?

请参阅下面我的代码。我知道这可能不是将 WinForm 类及其成员公开为的最佳选择public但我现在正试图澄清这个概念。

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public void button1_Click(object sender, EventArgs e)
        {
            Class1 c = new Class1();
            c.loop();
        }

        public void PBSetup()
        {
            progressBar1.Minimum = 0;
            progressBar1.Maximum = 100;
        }

        public void PBUpdate(int recno)

        {
            progressBar1.Value = Class1.recno;
        }
    }
}

namespace WindowsFormsApplication1
{
    class Class1
    {

        public static int recno;

        public void loop()
        {
            //How do I access Form1.PBSetup()??

            for (recno = 0; recno <= 100; recno++)
            {
                //How do I access Form1.PBUpdate(recno)??
            }
        }
    }
}

您不希望您的业务逻辑(您的类)与您的 UI(您的表单)进行交互。业务逻辑应该与表示层无关。

如果您希望表单能够响应课堂内发生的事情,您可以考虑公开一个Event http://msdn.microsoft.com/en-us/library/awbftdfh.aspx在表单可以订阅的类中,就像订阅按钮的单击事件一样。类实例可以完全不知道谁可能在监听而触发事件,并且任何订阅者都会收到通知。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c# 从另一个类访问 WinForm 控件属性 的相关文章

随机推荐