Thaana Paana Ответов: 1

Каков наилучший подход к отображению и вмешательству в список "классов", содержащих переменные в C# [решено]


У меня есть список, содержащий класс, содержащий различные типы переменных, и я хочу отображать их и вмешиваться в них одновременно. Мне удалось это сделать, но то, как я это делаю, не так стабильно и отнимает много времени. Я хочу новый способ сделать это, лучший способ с хорошей графикой, если это возможно.

Так как же лучше всего это сделать? - написать целый элемент управления или т. д...

Вот как я это делаю ...

public class AListBoxItemToHoldVars
        {
            public string name { get; set; }
            public string hint { get; set; }
            public int amount { get; set; }
        }

        public List<AListBoxItemToHoldVars> mylist = new List<AListBoxItemToHoldVars>();

        
        
        
        private void Form1_Load(object sender, EventArgs e)
        {
            mylist.Add(new AListBoxItemToHoldVars {
                name = "Item 1",
                hint = "This item was created in...",
                amount = 1
            });
        }
        public void refreshlist()
        {
            listBox1.Items.Clear(); // clear the lb
            foreach (AListBoxItemToHoldVars i in mylist) // add them
            {
                mylist.Add(new AListBoxItemToHoldVars
                {
                    name = i.name,
                    hint = i.hint,
                    amount = i.amount
                });
            }
        }
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e) // show the vars in label.text
        {
            if (mylist.Count <= listBox1.Items.Count)
            {
                label1.Text = mylist[listBox1.SelectedIndex].name;
                label1.Text = mylist[listBox1.SelectedIndex].hint;
                label1.Text = mylist[listBox1.SelectedIndex].amount.ToString();
            }
            else
            {
                refreshlist();
            }

        }


Отредактировано: нашел свое решение в wpf

Что я уже пробовал:

Мой обычный способ сделать это-использовать элемент управления listbox с событием "onLBIndexChanged", отображающим мои переменные в метках при запуске события.

Я также попытался написать свой собственный контроль с нуля. Но я нигде не могу найти способ сделать это. Я видел из своих поисков об изменении элемента управления, например об изменении границы кнопки или цвета выделения и т. д...

BillWoodruff

Не могли бы вы пояснить, что вы подразумеваете под "вмешательством", и показать код для класса, и описать отношение класса к меткам ?

И еще: у вас есть список занятий ? Или ?..

1 Ответов

Рейтинг:
9

OriginalGriff

Цитата:
Я также попытался написать свой собственный контроль с нуля. Но я нигде не могу найти способ сделать это.

Это легко, просто создать пользовательский элемент управления: usercontrol c - поиск в Google[^]


Thaana Paana

Это не с нуля, но это может сработать, я попробую это сделать и дам вам знать.
ОТРЕДАКТИРОВАННЫЙ:

это не сработало но я нашел другое решение в wpf user control