如何在按钮单击事件中从另一个类调用方法?

时间:2015-04-12 00:28:00

标签: c# visual-studio-2010 class methods

我正在尝试从我的AddTask类中的按钮单击事件中调用我的类(ListDisplay)中的非静态方法(LoadingListBox)。

namespace Project
{
    public partial class ListDisplay : Form
    {

        public  void LoadingListBox()
        {
            //code
        }
    }
 }

namespace Project
{
    public partial class AddTask : Form
    {
         private void btnSubmit_Click(object sender, EventArgs e)
         {
             //code
             //I want to call LoadingListBox here
         }
    }
}

我尝试通过ListDisplay创建ListDisplay listDisplayI = new ListDisplay();的实例,然后编写ListDisplay.LoadingListBox();

此代码没有错误,但是在调试控制流时,不会转到它刚刚继承的方法。 我也尝试过这个问题的答案:

Call a public method of main class from another class

但是这会产生一个错误,因为我无法在设计师吓坏时重载btnSubmit_Click方法。所以我创建了一个新方法,其中包含btnSubmit_Click的所有代码,名为public static void addingTask(ListDisplay),但我必须创建一个ListDisplay实例,以便将其作为参数放在btnSubmit_Click方法中,最后得到两个实例,即不是我想要的(由于回答问题)。

所以现在我没有提出任何建议,并且非常感谢您为调用此LoadingListBox方法而提供的任何帮助。 谢谢!

1 个答案:

答案 0 :(得分:0)

您的两个选择取决于您是否在点击按钮时想要ListDisplay的新实例。

选项1:

namespace Project
{
    public partial class AddTask : Form
    {
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            var ld = new ListDisplay();
            ld.Show();
            ld.LoadingListBox();
        }
    }
}

选项2:

namespace Project
{
    public partial class AddTask : Form
    {
        private ListDisplay _ld;
        public AddTask(ListDisplay ld)
        {
            _ld = ld;
        }

        private void btnSubmit_Click(object sender, EventArgs e)
        {
            _ld.LoadingListBox();
        }
    }
}