0

下面的代码中是否需要“返回”:

if (((e.KeyChar == '1') && (String.IsNullOrWhiteSpace(textBoxPterodactylNum1.Text))) ||
    ((e.KeyChar == '2') && (String.IsNullOrWhiteSpace(textBoxPterodactylNum2.Text))) ||
    ((e.KeyChar == '3') && (String.IsNullOrWhiteSpace(textBoxPterodactylNum3.Text)))) {
    e.Handled = true;
    MessageBox.Show(String.Format(
        "There is no corresponding value for {0} in the pterodactyl TextBox above", e.KeyChar));
    return;
}
. . .
// other code follows if gauntlet above is passed through safely; don't want to continue if it didn't, though (if handled was set to true)

?

4

2 回答 2

2

Handled属性不会停止在其轨道中执行事件,它只是告诉冒泡事件您已经处理了它并且不再需要处理其他任何东西。因此,您下面的代码e.Handled = true可能会将其反转为错误状态,这将允许冒泡事件继续处理事件。

于 2012-05-04T00:11:28.130 回答
1

它本质上不是多余的。您尚未显示以下代码,但该代码可能会设置e.Handled = false.

于 2012-05-04T00:08:33.860 回答