protected override void OnSelectedIndexChanged(EventArgs e) { base.OnSelectedIndexChanged(e); ComboboxData data = (ComboboxData)SelectedItem; data.Checked = !data.Checked; if (Checkchanged != null) { Checkchanged(data, e); } }
protected override void OnDrawItem(DrawItemEventArgs e) { if (e.Index == -1) { return; } if (Items[e.Index] is ComboboxData) { ComboboxData data = Items[e.Index] as ComboboxData; CheckBoxRenderer.RenderMatchingApplicationState = true; CheckBoxRenderer.DrawCheckBox(e.Graphics, new Point(e.Bounds.X, e.Bounds.Y), e.Bounds, data.Data, this.Font, (e.State & DrawItemState.Focus) == 0, data.Checked ? CheckBoxState.CheckedNormal : CheckBoxState.UncheckedNormal); } else { e.Graphics.DrawString(Items[e.Index].ToString(), this.Font, Brushes.Black, new Point(e.Bounds.X, e.Bounds.Y)); return; } base.OnDrawItem(e); }