访问其他形式的私有方法

时间:2016-03-04 06:33:47

标签: c# winforms access-modifiers

如何从一种表单访问另一种形式的私有方法?

例如,我在Form1中有这个方法:

Form1中:

private void Test (){}

然后如何在Form2中访问该方法(private void Test),以便我在Form2中输入的值将在方法Test中发送?

Test是一个datagridview,在表单2中我必须输入Name并在其中输入相应的值,如果我按下save按钮,它应该自动保存在Form1中的datagridview中。

3 个答案:

答案 0 :(得分:5)

private方法无意在所有的class 之外访问。如果您不在private,则无法访问class方法。

最简单的方法是制作private方法public

public void Test (){}

或者,您必须使用public包装方法来调用private方法:

public void TestWrapper() {
    Test(); //if test is private
}

然后在Form2中,您应该拥有instance Form1并轻松调用该方法:

//All these are inside Form2
Form1 form1 = new Form1();

//Somewhere in your code
form1.Test(); //if test is public, or
form1.TestWrapper(); //if test is private

但在所有情况下,底线是:

  

您无法在private之外调用class方法。

答案 1 :(得分:0)

如果您想访问其他表单的方法,则它不能是private。您需要将它们设为public才能访问其他形式的方法。

答案 2 :(得分:0)

您无法从其他类访问私有方法。 公开然后你可以通过另一个班级访问它。