用户定义的TabPage加载到TabControl

时间:2011-12-08 00:52:42

标签: c# user-controls tabcontrol tabpage

我目前正在为自己的利益编写一个小型rolodex应用程序,并遇到了一些问题。

我写了一个用户定义的TabPage dll。用户在空白UD-TabPage上输入有关人员的信息。然后我从tabPage中删除信息并将其存储在我创建的Record对象中。

用户可以选择创建许多这些tabPages。每次我将信息存储在Record对象中并将该对象放在List<Record>

当用户完成输入联系人并想要浏览所有选项卡时,我会在TabControl,A-Z上放置26个tabPages。他们将滚动到他们想要的tabPage,以便他们可以查看他们的联系人。

我遇到的问题是我不确定如何从List<record>获取数据并将其放回tabControl,而无需创建额外的选项卡。例如。如果我有一个名叫“John Smith”和“Suzan Smith”的人,我希望能够滚动到S标签,John会先出现在那里,当我接下来时,Suzan会显示出来。

我已经将用户创建的标签按字母顺序排列。我只是不确定如何整齐地展示它们。

如果有人有一些想法或一些伪造的,那就太棒了!谢谢!

1 个答案:

答案 0 :(得分:1)

我会使用词典)。例如:

        List<record> cUngroupedRecords = new List<record>();

        Dictionary<string, List<record>> cGroupedRecords = new Dictionary<string, List<record>();

        foreach (record Record in cUngroupedRecords)
        {
            string sFirstChar = Record.LastName[0].ToString();
            List<record> cRecords;

            if (cGroupedRecords.ContainsKey(sFirstChar)) {
                cRecords = cGroupedRecords[sFirstChar];
            } else {
                cRecords = new List<string>();
                cGroupedRecords.Add(sFirstChar, cRecords);
            }
            cRecords.Add(Record);
        }

然后你可以在cGroupedRecords中循环浏览每个组。