コード例 #1
0
        /// <summary>
        /// Displays a dialog to select strings from an array of strings
        /// </summary>
        /// <param name="title"></param>
        /// <param name="prompt"></param>
        /// <param name="items"></param>
        /// <returns></returns>
        public static string[] SelectItems(string title, string prompt, string[] items)
        {
            var dlg = new GenericItemSelectionDialog();

            if (!string.IsNullOrEmpty(title))
            {
                dlg.Text = title;
            }
            if (!string.IsNullOrEmpty(prompt))
            {
                dlg.lblPrompt.Text = prompt;
            }

            dlg.lstItems.SelectionMode = SelectionMode.MultiSimple;
            dlg.lstItems.DataSource    = items;

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                List <string> values = new List <string>();
                foreach (var item in dlg.lstItems.SelectedItems)
                {
                    values.Add(item.ToString());
                }
                return(values.ToArray());
            }
            return(new string[0]);
        }
コード例 #2
0
        /// <summary>
        /// Displays a dialog to select an item from an array of items
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="title"></param>
        /// <param name="prompt"></param>
        /// <param name="items"></param>
        /// <param name="displayMember"></param>
        /// <param name="valueMember"></param>
        /// <returns></returns>
        public static T SelectItem <T>(string title, string prompt, T[] items, string displayMember, string valueMember) where T : class
        {
            var dlg = new GenericItemSelectionDialog();

            if (!string.IsNullOrEmpty(title))
            {
                dlg.Text = title;
            }
            if (!string.IsNullOrEmpty(prompt))
            {
                dlg.lblPrompt.Text = prompt;
            }

            if (!string.IsNullOrEmpty(displayMember))
            {
                dlg.lstItems.DisplayMember = displayMember;
            }
            if (!string.IsNullOrEmpty(valueMember))
            {
                dlg.lstItems.ValueMember = valueMember;
            }

            dlg.lstItems.DataSource = items;

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                return((T)dlg.lstItems.SelectedItem);
            }
            return(null);
        }
コード例 #3
0
        /// <summary>
        /// Displays a dialog to select items from an array of items
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="title"></param>
        /// <param name="prompt"></param>
        /// <param name="items"></param>
        /// <param name="displayMember"></param>
        /// <param name="valueMember"></param>
        /// <returns></returns>
        public static T[] SelectItems <T>(string title, string prompt, T[] items, string displayMember, string valueMember) where T : class
        {
            var dlg = new GenericItemSelectionDialog();

            if (!string.IsNullOrEmpty(title))
            {
                dlg.Text = title;
            }
            if (!string.IsNullOrEmpty(prompt))
            {
                dlg.lblPrompt.Text = prompt;
            }

            dlg.lstItems.SelectionMode = SelectionMode.MultiSimple;
            dlg.lstItems.DataSource    = items;
            if (!string.IsNullOrEmpty(displayMember))
            {
                dlg.lstItems.DisplayMember = displayMember;
            }
            if (!string.IsNullOrEmpty(valueMember))
            {
                dlg.lstItems.ValueMember = valueMember;
            }

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                List <T> values = new List <T>();
                foreach (T item in dlg.lstItems.SelectedItems)
                {
                    values.Add(item);
                }
                return(values.ToArray());
            }
            return(new T[0]);
        }