2016-01-13 144 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函數。現在在需要的類中重寫該函數並根據需要使用它。
相關問題