/// <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()); }