Esempio n. 1
0
        /// <summary>
        /// Разместить опции
        /// </summary>
        /// <param name="Base"></param>
        /// <param name="Actions"></param>
        /// <param name="M"></param>
        /// <returns></returns>
        public static OptionViewer[] PlaceOptions(Control Base, Options.Option[] Options, OptionMapper M, Action <Options.Option> OnChange)
        {
            var Opts = new List <OptionViewer>();

            M.Reset();
            foreach (var O in Options)
            {
                if (O.GetType() != typeof(OptionHidden))
                {
                    var OV = M.CreateNextControl("", O) as OptionViewer;
                    OV.Option = O;

                    // if(O.GetType() == typeof(OptionList))
                    OV.OnChange += new EventHandler(delegate(Object o, EventArgs a)
                    {
                        var Option = (o as OptionViewer).Option;
                        OnChange(Option);
                    });

                    Opts.Add(OV);
                    Base.Controls.Add(OV);
                }
            }

            return(Opts.ToArray());
        }