2013-05-08 19 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

相关问题