将所有事件移出设计器

时间:2014-04-01 10:47:36

标签: c# events

我有一个包含许多控件的表单,每个控件都有事件(及其处理程序),总共有几十个事件。 我发现很多次,由于复杂的组合,在启动控件时会触发事件,主要是因为我从我的设置文件中加载了保存的设置,可能会更改默认控件的初始设置,从而导致事件触发。

为了避免这种情况,我将所有事件移动到一个特殊方法(在Main中),只有在构建并设置了所有控件之后才会调用它。

它运作正常,但问题是这是好的还是常见的做法以及它可能有什么缺点。

我也尝试将事件移动到一个特殊的Maim子类,但是找不到从子类访问私有控件的方法。

1 个答案:

答案 0 :(得分:0)

在此不确定您的期望是什么。如果代码运行良好,并且相当清楚,我无法真正看到问题。

此外,在您的情况下听起来好像这是必要的:如果您需要根据设置中保存的状态设置或修改控件,那么在您为这些控件添加事件之前,这似乎很明显需要完成。正如我已经提到的:只要你的代码工作正常,并且清晰易懂,就应该没问题(后一点很重要,因为这意味着你可以解决它而不会有太多的麻烦,如果它应该被证明是因某些不可预见的原因而出现问题。)

PS:如果您想了解更多有关此内容的反馈,那么您应该添加一些实际代码进行评论。但是,这可能意味着这个问题更适合CodeReview StackExchange site而不是本网站。也许您应该添加代码,然后在那里发布问题。