示例#1
0
 private void treeView_AfterCheck(object sender, TreeViewEventArgs e)
 {
     if (_filter == null)
     {
         return;
     }
     lock (_filter)
     {
         if (e.Node.Tag is Assembly)
         {
             Assembly assembly = (Assembly)e.Node.Tag;
             if (_filter.GetAssemblyInfo(assembly).Enabled != e.Node.Checked)
             {// Protect when SetNodeToAssembly is called.
                 _filter.GetAssemblyInfo(assembly).Enabled = e.Node.Checked;
             }
         }
         else if (e.Node.Tag is Type)
         {
             Type type = (Type)e.Node.Tag;
             if (_filter.GetAssemblyInfo(type.Assembly).Types[type] != e.Node.Checked)
             {// Protect when SetNodeToType is called.
                 _filter.GetAssemblyInfo(type.Assembly).Types[type] = e.Node.Checked;
             }
         }
         else
         {
             SystemMonitor.Throw("Unhandled type.");
         }
     }
 }