コントロール ( ListItems
) は動的に作成されるため、挿入前にソートすることはできません。
私は仕事をする解決策を試みました(リストを並べ替えてからコントロールを再構築します)が、より洗練された解決策が欲しいです。
完全を期すために、以下は私の現在の解決策です。
List<ListItem> lli = new List<ListItem>();
foreach (ListItem item in cblGIFFlags.Items) lli.Add(item);
cblGIFFlags.Items.Clear();
bool sorting = true;
while (sorting)
{
sorting = false;
for (int i = 0; i < lli.ToArray().Length - 1; i++)
{
ListItem x = lli[i];
ListItem y = lli[i + 1];
if (Comparer<String>.Default.Compare(x.Text,y.Text) > 0)
{
lli[i] = y;
lli[i + 1] = x;
sorting = true;
}
}
}
foreach (ListItem item in lli) cblGIFFlags.Items.Add(item);