我想知道是否有一种更有效的方式格式化以下代码: private void nmudc1_Enter(object sender, EventArgs e) { SelectAllNumericalUpDownText(nmudc1); } private void nmudc1_Click(object sender, EventArgs e) { SelectAllNumericalUpDownText(nmudc1); } private void nmudc2_Enter(object sender, EventArgs e) { SelectAllNumericalUpDownText(nmudc2); } private void nmudc2_Click(object sender, EventArgs e) { SelectAllNumericalUpDownText(nmudc2); }等等。对于在此之前或其他地方提出的要求,我深表歉意,并且我认为答案相对简单。不幸的是,到目前为止,我一直没有找到合适的答案。我曾考虑过尝试放入一个数组或一个对象中,但是我真的不知道如何对这样的函数执行此操作。谢谢你。
3 回答
HUWWW
TA贡献1874条经验 获得超12个赞
由于代码示例中的所有事件处理程序都具有相同的方法签名,因此您可以简单地使用相同的方法来处理所有事件:
private void NumericUpDown_event(object sender, EventArgs e)
{
SelectAllNumericalUpDownText(sender as NumericUpDown);
}
当然,这是假设您的发件人对象实际上是个NumericUpDown。
茅侃侃
TA贡献1842条经验 获得超21个赞
您可以使用以下替代方法:
private void NumericUpDown_Event(object sender, EventArgs e)
{
if (!(sender is <controltype> nump))
return;
SelectAllNumericalUpDownText(nump);
}
这样,如果发件人的类型不是<controltype>,则不会调用该方法。因此,您已经使用了通用EventArgs类,可以在此方法下输入Enter / Click事件。
- 3 回答
- 0 关注
- 138 浏览
添加回答
举报
0/150
提交
取消