static SAIUserControlState() { List <ControlState> states = new List <ControlState>(); states.Add(new ControlState <TextBox>((d, c) => { d[c] = c.Text; }, (c, o) => { string str = o.ToString(); if (c.Text != str) { c.Text = str; } })); states.Add(new ControlState <ComboBox>((d, c) => { d[c] = ((ComboBox)c).SelectedIndex; }, (c, o) => { ComboBox cb = (ComboBox)c; int selected = (int)Convert.ChangeType(o, typeof(int)); cb.SelectedIndex = selected; })); states.Add(new ControlState <NumericUpDown>((d, c) => { d[c] = ((NumericUpDown)c).Value; }, (c, o) => { NumericUpDown nup = (NumericUpDown)c; decimal value = (decimal)Convert.ChangeType(o, typeof(decimal)); nup.Value = value; })); //states.Add(new ControlState<NumericUpDown>((d, c) => d.Add(c, ((NumericUpDown)c).Value), (c, o) => ((NumericUpDown)c).Value = (decimal)o)); states.Add(new ControlState <CheckBox>((d, c) => d[c] = ((CheckBox)c).Checked, (c, o) => ((CheckBox)c).Checked = (bool)Convert.ChangeType(o, typeof(bool)))); states.Add(new ControlState <CustomObjectListView>((d, c) => { d[c] = new List <DatabaseClass>(((CustomObjectListView)c).List.Scripts); }, (c, o) => { CustomObjectListView listView = (CustomObjectListView)c; var scripts = (List <DatabaseClass>)o; listView.List.ReplaceScripts(scripts); })); StatesByType = states.ToDictionary(p => p.ControlType); }
static SAIUserControlState() { var states = new List <ControlState>(); states.Add(new ControlState <TextBox>((d, c) => { d.Add(c, c.Text); }, (c, o) => { string str = o as string; if (c.Text != str) { c.Text = str; } })); states.Add(new ControlState <ComboBox>((d, c) => { d.Add(c, ((ComboBox)c).SelectedIndex); }, (c, o) => { ComboBox cb = (ComboBox)c; int selected = (int)o; cb.SelectedIndex = selected; })); states.Add(new ControlState <NumericUpDown>((d, c) => d.Add(c, ((NumericUpDown)c).Value), (c, o) => ((NumericUpDown)c).Value = (decimal)o)); states.Add(new ControlState <CheckBox>((d, c) => d.Add(c, ((CheckBox)c).Checked), (c, o) => ((CheckBox)c).Checked = (bool)o)); states.Add(new ControlState <CustomObjectListView>((d, c) => { d.Add(c, ((CustomObjectListView)c).List); }, (c, o) => { CustomObjectListView listView = (CustomObjectListView)c; CList list = (CList)o; listView.List = (CList)list.Clone(); list.Apply(); })); StatesByType = states.ToDictionary(p => p.ControlType); }