2016-01-13 145 views
2

我在Windows窗体的C#中有两个类,我们称它们为One.csTwo.cs。在两个类中,我有两个完全相同的按钮,具有相同的功能和相同的名称。在两个类之间使用按钮共享一个方法

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

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

现在我想分享我的两个班One.csTwo.cs之间的这种功能的东西。我怎样才能做到这一点?

我已经试着做了一个新的静态类,有了这个功能,并试图从第一和第二类访问它。但问题是,我想要访问的按钮...

+1

看起来像*你需要*继承*一个和两个*基类*(基本形式在你的情况) –

回答

0

显然,您需要参考启用/禁用按钮。这你有你的方法,参数范围内为其提供:

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

现在,你可以简单地从任何地方使用MyStaticClass.Something(btnOne)代码中调用它(或btnTwoTwo -class时)。

+0

我不得不使用:'公共静态无效的东西(System.Windows.Forms .Button btn)'但它对我有用,谢谢! – Tanja

3

您可以有多个选项。

  1. 创建一个基类,并在该基类中具有该函数。现在继承相同,并使用任何你想要的。
  2. 创建一个通用类。在应用程序中包含你想要的每个功能。现在创建该类的一个对象并使用它。 (你需要一个按钮的参考)。
  3. 创建一个接口并具有该virtual函数。现在在需要的类中重写该函数并根据需要使用它。
相关问题