コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }