0

我想EventHandle参加一个MouseLeftButtonDown活动。当被调用/触发时,a 的最后一个字符string应该被删除。我的代码如下所示:

 public string MyString;

 private void OnMouseDownDelete(object sender, MouseButtonEventArgs e)
 {
     int MyStringLength = MyString.Length;
     MyStringLength = MyStringLength - 1;
     MyString = MyString.Substring(0, MyStringLength);
 }

但是当我运行这段代码时,一个MouseLeftButtonDown事件将开始一个循环,直到string变为空。

谁能告诉我我错过了什么?

4

1 回答 1

2

由于您使用的是 Mango (7.1),因此您可以使用Tap 事件而不是 MouseLeftButtonDown 事件。

但是,我怀疑该事件多次触发,导致字符串被删除。

一个好的做法是使用该Handled属性,这样其他控件就不会尝试处理相同的事件:

private void OnMouseDownDelete(object sender, MouseButtonEventArgs e)
{
     int MyStringLength = MyString.Length;
     MyStringLength = MyStringLength - 1;
     MyString = MyString.Substring(0, MyStringLength);

     e.Handled = true;
}

您可能需要发布所有显示如何添加 MouseLeftButtonDown 事件的代码。

于 2012-05-04T22:03:24.013 回答