2013-05-08 54 views
2

我有一個程序具有以下設計如何獲取有關活動

  • 一對夫婦分開班,提供輸入各執行一個類型 算法
  • Windows窗體界面運行 調試信息不同的算法和語音命令完全相同。
  • 每個算法通過點擊一個單獨 按鈕
  • 每個算法提出了一些事件(特定於算法)
  • 繼而輸出的事件偵聽器通過
  • 表格中的標籤和通過語音API運行,說使用揚聲器的結果

我面臨的問題是,在調試時,如果某種算法出現問題,有時會自動啓動其他算法。我希望能夠知道哪些事件監聽器在某個事件(如果有的話)在任何時間點註冊過。我使用VS2008與C#。

我也想知道我們是否使用Timer作爲局部變量,並將事件偵聽器添加到每個類中的計時器。一個類的定時器可能觸發其他類中的偵聽器。我對這個事件聽衆的新東西很陌生,並且不確定我是否缺少一些基本信息,這些信息導致我以某種方式提出這個問題或問題。

回答

1

我建議你調試的基礎知識,我認爲這是你現在需要的一切。 Here是調試基礎知識的教程。讓自己熟悉F10和F11鍵。通過使用斷點,您可以獲得算法的執行順序。

第二個可能是一個類的定時器觸發其他類中的偵聽器這裏是一個例子。

MyClass myClass = new MyClass(); 
Timer timer1 = new Timer(); 
timer1.Tick += myClass.TimerCallback; // subscribe to other's class method 
timer1.Interval = 1000; 
timer1.Start(); 

public class MyClass 
{ 
    public void TimerCallback(object sender, EventArgs eventArgs) 
    { 
     Console.WriteLine("Timer Called by: " + sender); 
    } 
} 
如果你想獲得的回調列表

訂閱回調使用此answer,但我認爲你不需要,就目前而言,如果你使用到的調試。

+0

我對F10和F11非常熟悉,只是想知道聽衆註冊了什麼。我在哪裏得到這些信息。 此外,如果我在每個類中都有一個計時器和一個回調函數,那麼一個計時器的計時器是否會影響其他計時器。比方說,我有兩個不同類的兩個對象,每個都有自己的計時器設置爲不同的時間間隔。是否有可能一個班的計時器計時器也會啓動另一個班的計時器。 – Novice 2013-05-09 07:45:58