using System; using System.Windows.Forms; using System.Data; namespace System.Windows.Forms { public enum BoolText { YN = 0, TF } /// <summary> /// Summary description for BoolCharCheckBox. /// </summary> public class BoolCharCheckBox : CheckBox { private BoolText boolTextType; public virtual void BindData(string propertyName, object dataSource, string dataMember, BoolText boolTextType) { this.boolTextType = boolTextType; Binding db = new Binding(propertyName, dataSource, dataMember); db.Format += new ConvertEventHandler(this.FormatHandler); db.Parse += new ConvertEventHandler(this.ParseHandler); this.DataBindings.Add(db); } private void FormatHandler(object sender, ConvertEventArgs e) { switch (boolTextType) { case BoolText.YN: if ((string)e.Value == "Y") e.Value = true; else e.Value = false; break; case BoolText.TF: if ((string)e.Value == "T") e.Value = true; else e.Value = false; break; } } private void ParseHandler(object sender, ConvertEventArgs e) { switch (boolTextType) { case BoolText.YN: if ((bool)e.Value == true) e.Value = "Y"; else e.Value = "N"; break; case BoolText.TF: if ((bool)e.Value == true) e.Value = "T"; else e.Value = "F"; break; } } } }>Ok next problem. :)