加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 调用设计器构建的事件处理程序

发布时间:2020-12-16 01:48:51 所属栏目:百科 来源:网络整理
导读:我目前的任务是清理,修复错误并优化 winforms中的表单(一个.cs文件中的3000行代码,它有点难看!).我已经注意到一些明显的不良做法和一些冗余调用,我可以相对容易地解决这些问题. 然而,有一个出现了很多,在我看来似乎是不好的做法,但我实际上无法用任何文档支
我目前的任务是清理,修复错误并优化 winforms中的表单(一个.cs文件中的3000行代码,它有点难看!).我已经注意到一些明显的不良做法和一些冗余调用,我可以相对容易地解决这些问题.

然而,有一个出现了很多,在我看来似乎是不好的做法,但我实际上无法用任何文档支持它.我可能完全错了.

private void datePicker_DateChanged(object sender,EventArgs e)
{
  tabControl_SelectedIndexChanged(sender,e);
}

private void comboBox_SelectedIndexChanged(object sender,e);
}

我首先担心的是该方法将使用发件人对象作为日期选择器或组合框,但这有关系吗?我问自己,那里的发件人对象是什么?也许这就是为什么它在那里?除非继承了类,否则我发现EventArgs本身就没用了(据我所知).

我知道tabControl_SelectedIndexChanged方法中没有使用sender或EventArgs,所以代码工作正常.当一些代码被更改时,未来可能会有什么影响呢?

我应该将这些更改为3个不同的事件处理程序,这些处理程序都指向一个简单的void loadCurrentTab()方法吗?或许我应该让所有3个控件调用相同的事件处理程序,例如loadCurrentTab(sender,e)?或者只是保持原样?这很重要吗?

解决方法

Should I change these to 3 different event handlers that all point to a simple void loadCurrentTab() method?

在这种情况下,这实际上是我的偏好.这使得意图非常清晰 – 所有三个事件处理程序都路由到一组逻辑,这些逻辑(按设计)不关注发送方或EventArgs.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读