繁体   English   中英

C#将项目列表添加到组合框,按字符串排序不是很自然

[英]c# add a list of items to combobox ordered by string not natural

我使用此代码将数字添加到组合框

 for (int i = 15; i < 250; i++)
 {
   cbSumFrom.Items.Add(i);
 }

问题是我得到类似

100

101

......

但我想要

15

16

17

......

如何解决?

问题在于,组合框似乎正在对项目进行排序,并且它正在对每个字符进行ASCII比较,因此100排在15之前,因为10排在15之前。取消组合框的排序,它应该列出它们按照您的顺序;已添加它们

试试这个...没有测试过但是尝试一下...

 cbSumFrom.Items.Clear();
 for (int i = 15; i < 250;)
     {
       cbSumFrom.Items.Add(Convert.toString(i));

     }

查看您的ComboBox.Sorted属性。 如果它为True则将得到您不想要的行为(默认的基于字符串的排序。)由于您是从看起来像预排序列表的列表中填充组合框的,因此请确保将ComboBox.Sorted设置为False

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM