我想在启动另一个方法A之前停止下面的方法,并在执行方法A后重新启动。
我没有办法在下面停止/启动此方法。
private void CheckTrsfSelect(object sender, ItemCheckedEventArgs e)
{
lvi = e.Item;
if (lvi.SubItems[2].Text == "HOTEL" && TrsfSelect == 1 &&lvi.Checked)
{
MessageBox.Show("Blabla.");
lvi.Checked = false;
}
}
lvi是一个公开的listviewitem
答案 0 :(得分:1)
考虑使用全局标志来指示此方法当前正在努力避免重复调用。
这样,在处理前一次调用时,此方法不能被调用两次。
bool CheckTrsfSelectIsProcessing = false;
private void CheckTrsfSelect(object sender, ItemCheckedEventArgs e)
{
if (!CheckTrsfSelectIsProcessing){
CheckTrsfSelectIsProcessing = true;
lvi = e.Item;
if (lvi.SubItems[2].Text == "HOTEL" && TrsfSelect == 1 &&lvi.Checked)
{
MessageBox.Show("Blabla.");
lvi.Checked = false;
}
CheckTrsfSelectIsProcessing = false;
}
}