【问题标题】:Share a method between two classes with buttons使用按钮在两个类之间共享方法
【发布时间】:2016-04-18 02:03:13
【问题描述】:

我有两个带有 Windows 窗体的 C# 类,我们称它们为 One.csTwo.cs。在这两个类上,我有两个完全相同的按钮,具有相同的功能和相同的名称。

现在我有一个功能,可以禁用其中一个按钮。简化它看起来像这样:

public static void Something(){ 
btnOne.Enabled = false; }

现在我想在我的两个班级One.csTwo.cs 之间分享这个函数。我该怎么做?

我已经尝试使用此函数创建一个新的静态类,并尝试从第一类和第二类访问它。但问题是按钮,我想访问它......

【问题讨论】:

  • 看起来你想继承 OneTwo 从一些基类(在你的情况下是基形式)

标签: c# winforms class methods


【解决方案1】:

您可以有多种选择。

  1. 创建一个基类并在该基类中使用该函数。现在继承相同并在任何你想要的地方使用。
  2. 创建一个通用类。包括您希望在整个应用程序中拥有的每个功能。现在创建该类的一个对象并使用它。 (您需要按钮的参考)。
  3. 创建一个接口并拥有virtual函数。现在在您想要的类中覆盖该函数并根据需要使用它。

【讨论】:

    【解决方案2】:

    显然,您需要对要启用/禁用的按钮的引用。您必须在方法参数中提供它:

    public static void Something(Button btn)
    { 
        btn.Enabled = false; 
    }
    

    现在您可以使用MyStaticClass.Something(btnOne)(或btnTwo,在Two-class 中)从代码中的任何位置简单地调用它。

    【讨论】:

    • 我必须使用:public static void Something(System.Windows.Forms.Button btn) 但它对我有用,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多