【问题标题】:not able to set the visible property of button in one form from another form无法从另一种形式设置按钮的可见属性
【发布时间】:2011-11-01 14:26:42
【问题描述】:

我需要与其他表单上的控件进行交互。尝试使用以下方式访问控件...

我正在从 form2 访问 Backupform 控件

在备份表单中:我已经这样定义了......

public partial class BackupForm
{
 public bool ControlIsVisible
 {
  get { return this.btnrestore.Visible; }
  set {this.btnrestore.Visible = value; }
 }

 public BackupForm()
 {

  InitializeComponent();
  cbbackupforms.SelectedIndex = 0;
 // btnrestore.Enabled = false;
 }
}

我在备份表单的设计器中创建了 btnrestore 属性 visible = true;modifiers = private

在 form2 中我正在访问 btnrestore 可见属性

public partial class form2
{
  private Forms.BackupForm backs;

 public form2()
 {

  InitializeComponent();
  backs =  new Forms.BackupForm();
 }

 public void restore()
 {
      backs.ControlIsVisible = false;
 }  
}

但我无法看到按钮的 false ,请任何人为此提出任何解决方案.....

在此先感谢

【问题讨论】:

  • 只是为了确定,你真的在​​调用你的“恢复”方法吗?
  • 我确定......我正在调用恢复方法......
  • 无法重现。问题不是没有调用“恢复”或其他。

标签: c# .net winforms button


【解决方案1】:

您可以提供对第一个表单实例的引用,并使用该引用来设置该表单上对象的属性。当您将对象转换为 Form1 时,属性将是可访问的。

【讨论】:

    【解决方案2】:

    你什么时候调用你的 Restore() 方法?另外,如果所有的 Restore() 方法都是在单独的表单上设置按钮的可见属性,为什么不将该方法封装在 BackupForm 对象中并使用 backs.Restore() 调用它?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      • 2014-08-23
      • 1970-01-01
      • 2014-01-24
      • 1970-01-01
      相关资源
      最近更新 更多