在form.cs文件中,我有两个按钮,一个备忘录和一个计时器。我的问题是:如何从另一个cs文件访问计时器或备忘录?我尝试将对象设为public,但没有成功,请给我一个源或一个项目,这样我就可以看到我错在哪里。谢谢!
在设计器中选择您的按钮,进入其属性并将 "Modifiers" 属性从 "Private" 更改为 "Public"。
然后您就可以从另一个类访问它,类似于以下方式:
public static class Test
{
public static void DisalbeMyButton()
{
var form = Form.ActiveForm as Form1;
if (form != null)
{
form.MyButton.Enabled = false;
}
}
}
注意:这只是一个例子,绝对不是良好设计的模式 :-)
Application.Run(new Form1());
to
Application.Run(formInstance = new Form1());
声明一个变量的方式如下
public static Form1 formInstance;
并使用
Program.formInstance.MyFunction(params);
虽然我同意John Saunders的观点,但你可能做错了一件事情,那就是假设你可以通过公共修饰符访问所有内容,但你没有该表单的实例。
例如,以下是您应该这样做的方式:
Form1 myForm = new Form1;
string theButtonTextIAmLookingFor = myForm.MyButton.Text;
我猜你可能试图像静态访问它一样访问它,就像这样:
string theButtonTextIAmLookingFor = Form1.MyButton.Text;
这是你可能想要检查的内容。
直觉的选择是将控制字段设为公共的。 这里有一个非常好的解决方案来解决这个问题。