123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- using System;
- using CustomControls.BaseClasses;
- using CustomControls.HelperClasses;
- using System.Windows.Forms;
- using System.ComponentModel;
- namespace CustomControls.Win32Controls
- {
-
- public class DropDownBool:DropDownListBox
- {
-
- private DropDownBool.ListItem TrueItem = new DropDownBool.ListItem("True");
- private DropDownBool.ListItem FalseItem = new DropDownBool.ListItem("False");
- private bool _Value= true;
- public event EventHandler ValueChanged;
-
- [DefaultValue(typeof(string),"True")]
- public string TrueValueString
- {
- get{return TrueItem.Text;}
- set
- {
- if(value != TrueItem.Text)
- {
- TrueItem.Text= value;
-
- }
- }
- }
- [DefaultValue(typeof(string),"False")]
- public string FalseValueString
- {
- get{return FalseItem.Text;}
- set
- {
- if(value != FalseItem.Text)
- {
- FalseItem.Text= value;
-
- }
- }
- }
- [Browsable(false)]
- [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
- public override ComboBoxStyle DropDownStyle
- {
- get{return ComboBoxStyle.DropDownList;}
- }
- [DefaultValue(typeof(bool),"True")]
- public bool Value
- {
- get{return _Value;}
- set
- {
- if(value!=_Value)
- {
- _Value=value;
- OnValueChanged(new EventArgs());
- Invalidate();
- }
- }
- }
- public DropDownBool()
- {
- this.DropDownStyle=ComboBoxStyle.DropDownList;
- this.List.Items.Add(TrueItem);
- this.List.Items.Add(FalseItem);
- this.List.SelectedIndexChanged+=new EventHandler(List_SelectedIndexChanged);
- }
- protected virtual void OnValueChanged(System.EventArgs e)
- {
-
- if(Value)
- {
- List.SelectedItem=TrueItem;
- this.Text=TrueValueString;
- }
- else
- {
- List.SelectedItem=FalseItem;
- this.Text=FalseValueString;
- }
- if(ValueChanged!= null) {ValueChanged(this,e);}
- }
- private void List_SelectedIndexChanged(object sender, System.EventArgs e)
- {
- if(List.SelectedItem==TrueItem){Value=true;}
- else{Value=false;}
- }
-
- protected override void OnKeyDown(KeyEventArgs e)
- {
- base.OnKeyDown(e);
- if(e.KeyData==Keys.Space){Value=!Value;}
- }
- internal class ListItem:object
- {
- private string _Text=string.Empty;
-
- public string Text
- {
- get{return _Text; }
- set{_Text= value;}
- }
- public ListItem()
- {}
- public ListItem(string Text)
- {
- _Text= Text;
- }
- public override string ToString()
- {
- return _Text;
- }
- }
- }
- }
|