我想要启用或禁用其他文件中的按钮,我该怎么办?
这是表单类声明:
public partial class Form1 : Form
我试过
Form.btnName.enabled = false/true
但是没有btnName成员。
提前致谢!
答案 0 :(得分:8)
简单地公开一个公共方法:
public void EnableButton(bool enable)
{
this.myButton.Enabled = enable;
}
校正:
public void EnableButton()
{
this.myButton.Enabled = true;
}
答案 1 :(得分:3)
您需要通过将btnName成员公开或使用各种属性来将其公开给其他类。例如,将以下代码添加到Form1
public Button ButtonName { get { return btnName; } }
现在,您可以将form.ButtonName用于Form1的任何实例
答案 2 :(得分:3)
我真的建议您阅读有关表单如何适应.net的更多信息。您在示例代码“Form.btnName.enabled = false / true”
中有几个问题答案 3 :(得分:1)
这是因为默认情况下,表单上的控件不公开(与VB6不同,所有控件都是公开公开的。)
我相信您可以将设计师的可见性访问者更改为公开,但这通常是一个坏主意。
相反,您应该在窗体上公开一个方法,该方法将对按钮执行操作,并使该方法可以被您想要调用它的任何代码访问。这样可以实现更好的封装,并有助于防止代码中出现副作用。
答案 4 :(得分:0)
您必须在Form1的特定实例上指定它。
即如果您有类似Form1 myForm = new Form1(...);
的内容,那么您可以myForm.btnName.Enabled = false;
这也要求btnName是公共的。使一个属性或访问者检索它比直接提供默认情况下私有按钮字段成员的公共访问权限要“更好”。
答案 5 :(得分:0)
您需要添加公共属性或方法来设置按钮。
public void DisableBtnName()
{
this.btnName.Enabled=false;
}
public Button BtnName
{
get { return this.btnName;}
}
答案 6 :(得分:0)
在Form1 中,为外部类创建一个对象(在参数中添加按钮名称)
Class1 obj_Class1 = new Class1(btnName);
在Class1 中,创建一个私人按钮
private System.Windows.Forms.Button btnName;
在Class1 Construct中
public Class1(System.Windows.Forms.Button btnName)
{
this. btnName = btnName;
}
然后您可以访问您的按钮,
btnName.enabled = false/true;