Jam*_*mes 2 c# access-modifiers winforms
如何从一种形式访问私有方法到另一种形式?
例如,我在Form1中有这个方法:
Form1中:
private void Test (){}
Run Code Online (Sandbox Code Playgroud)
那么如何在Form2中访问该方法(private void Test),以便我在Form2中输入的值将在方法Test中发送?
Test是一个datagridview,在表单2中,我必须在其中输入带有相应值的Name,如果我按下save按钮,它应该自动保存在Form1中的datagridview中.
private并不意味着它的方法以外的访问class 在所有.你无法访问private,如果你不在方法class.
您的案例最简单的方法是制作private方法public
public void Test (){}
Run Code Online (Sandbox Code Playgroud)
或者,您必须创建一个public包装器方法来调用您的private方法:
public void TestWrapper() {
Test(); //if test is private
}
Run Code Online (Sandbox Code Playgroud)
然后在你的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
Run Code Online (Sandbox Code Playgroud)
但在所有情况下,底线是:
你不能
private在外面调用方法class.