我想禁用点击按钮

时间:2012-05-03 20:07:56

标签: c# winforms

Bassicly即时创建一个程序,允许用户输入值,如果值超过一定数量,则禁用不同表单上的按钮。但我不确定如何访问其按钮控件。我以为会是这样的?感谢名单

 if(value>120)
 {
  Form3 form3 = new Form3();
  Button.Disable();
  this.close();
 }

4 个答案:

答案 0 :(得分:3)

您的请求是禁用 在另一个表单上的按钮 - 从阅读中我假设表单已经存在。通过创建一个新实例:

Form3 form3 = new Form3();

您正在创建Form3的新实例,因此您永远不会在已经显示的表单上停用按钮。

您必须让当前表单知道Form3实例才能更改其中的任何内容。以下是一些让他们互动的方法:

  • 将这些值存储在单独的对象中,并使表单通过事件(例如
  • )对更改做出反应
  • 在创建或Form3“此”表单时提供对Show()实例的引用
  • 在静态类中保留对每个已创建表单的引用

另请注意,同时激活多个相关表单可能会使您的最终用户感到困惑。

答案 1 :(得分:1)

你可以像这样禁用按钮:

otherForm.Button.Enabled = false;

为了能够从另一个上下文(表单)禁用此按钮,您需要将其声明为public。您可以按如下方式执行此操作:

  • 在设计视图中选择按钮
  • 在属性窗口中将修饰符设置为公开

然后您可以使用禁用按钮显示表单,如下所示:

var newForm = new Form3();
newForm.Button.Enabled = false;
newForm.Show();

答案 2 :(得分:1)

您需要引用Form3的实例。您正在创建Form3的新实例,这可能不是您想要的。然后,您的Form3需要将您感兴趣的按钮公开为公共属性,以便您可以从课外访问它。然后,您应该能够将Disabled属性设置为true。

答案 3 :(得分:0)

我想你必须做这样的事情。

更新

 if(value>120)
 {
 Form3 form3 = new Form3();
 form3.Button.Enabled = false;
 this.close();
 }

更新