2016-02-24 3 views
0

У меня есть toolStripMenuItem, который представляет собой меню, содержащее другие выпадающие элементы. Когда DropDownItemClicked событие возникают при выборе одного из пунктов раскрывающегося Я хотел бы, чтобы поглотить событие, если какое-то условие выполнено, как показано ниже:HOWTO: Consuming ToolStripMenuItem.DropDownItemClicked в VB.NET

Private Sub tsmi_DropDownItemClicked(_ 
     ByVal sender As Object, _ 
     ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) _ 
     Handles tsmi.DropDownItemClicked 


     ... 

     If some_condition_is_satisfied then 
      e.Cancel = True <------ Cancel is not available in this event! 
     End If 

     ... 
End Sub 

Проблема заключается в том, что DropDownItemClicked не предоставила вешать на выполнение работ:

e.Cancel = True 

Так как же я мог использовать это событие?

+0

Если вы могли бы отменить, разве это не выглядело бы так, будто оно сломалось? Можете ли вы отключить некоторые подпункты при выполнении условия? – Plutonix

ответ

0

Если вы просто хотите, чтобы завершить к югу, затем

If some_condition_is_satisfied then 
    exit sub 
End If 

будет делать трюк - даже в обработчиков событий. Тем не менее, если вы хотите, чтобы программа была уведомлена, если суб будет отменена, вам нужно будет объявить логическую переменную с областью уровня класса и установить переменную в false в начале суб и в состоянии If..Then, установить его к истине.