private void FocusListener_AddingChildControl(object sender, ChildControlListAddingEventArgs e) { Control c = e.Control; try { // 只有支持Tab获取焦点的控件才可以使用自带的焦点事件 // 其他的需要使用别的事件替代(单击事件) if (c.TabStop) { c.GotFocus += ChildControl_GotFocus; c.LostFocus += ChildControl_LostFocus; } else { // 是否允许使用Click获取焦点 if (AllowUseClickEvent) { c.Click += ChildControl_GotFocus; c.Click += (s, args) => { c.Focus(); }; } } } catch { } }
private void BackColorSupport_AddingChildControl(object sender, ChildControlListAddingEventArgs e) { try { if (TargetTypes == null) { // 如果控件的类型存在于过滤表中,则忽略 if (FiltrateTypes.Contains(e.Control.GetType())) { e.IsCancel = true; return; } else { // 给控件赋予事件 AddEvents(e.Control); } } else { if (TargetTypes.Contains(e.Control.GetType())) { // 给控件赋予事件 AddEvents(e.Control); } else { e.IsCancel = true; return; } } } catch { } }