Exemplo n.º 1
0
        /// <summary>
        /// 弹出一个框,选择。
        /// </summary>
        /// <typeparam name="TEnum"></typeparam>
        /// <param name="outEnum"></param>
        /// <param name="initEnm"></param>
        /// <param name="formTitle"></param>
        /// <returns></returns>
        public static bool ShowAndSelectEnumsForm <TEnum>(out List <TEnum> outEnum, List <TEnum> initEnm = null, string formTitle = "请选择")
        {
            List <string> initSelect = new List <string>();

            if (initEnm != null)
            {
                foreach (var item in initEnm)
                {
                    initSelect.Add(item.ToString());
                }
            }
            SelectMultiNameForm form = new SelectMultiNameForm();

            form.Text = formTitle;
            form.Init(Enum.GetNames(typeof(TEnum)));
            form.SetSelected(initSelect);
            if (form.ShowDialog() == DialogResult.OK)
            {
                outEnum = new List <TEnum>();
                foreach (var item in form.SelectedNames)
                {
                    outEnum.Add((TEnum)(Enum.Parse(typeof(TEnum), item)));
                }
                return(true);
            }
            outEnum = initEnm;
            return(false);
        }