CheckBoxList数据源未在程序启动中设置。

时间:2015-07-03 15:09:21

标签: c# checklistbox

所以我试图从目录中加载文件名并将它们设置为一个checkList框但是该框始终是空白的,任何想法都可能是这样的?

请参阅下面的代码。

static void Main( string[] args )
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            var launchArg = args.FirstOrDefault( arg => !arg.StartsWith( "-" ) );
            launchArg = @"Apollo";
            if (!String.IsNullOrEmpty(launchArg))
            {
                var configID = launchArg;

                var configuration = AdrConfigurationManager.AdrSettings.Cast<AdrConfigurationElement>().SingleOrDefault(c => String.Equals(c.ID, configID, StringComparison.CurrentCultureIgnoreCase));
                if (configuration == null) throw new ArgumentException(String.Format("Could not find the configuration with ID={0}.", configID));

                // Search for the files.
                DirectoryInfo dirinfo = new DirectoryInfo(@"C:\SVNRepositiory\BMSConsulting\Common\ADR\Client Scripts\" + configuration.ID);
                var fileQuery =
                    from FileInfo fileinfo in dirinfo.GetFiles()
                    orderby fileinfo.Name.Substring(0, 1) ascending
                    select fileinfo.Name;
                // Add files to checkbox. 
                var chkListBox = new CheckedListBox();
                chkListBox.DataSource = fileQuery.ToArray();
                for (int i = 0; i < chkListBox.Items.Count; i++)
                    chkListBox.SetItemChecked(i, true);
                var progress = new AdrProgress(configuration, chkListBox);
                progress.Show();

                Application.Run( progress );
            }
            else
            {
                Application.Run(new ADR());   
            }

2 个答案:

答案 0 :(得分:0)

而不是作为数据源添加迭代通过查询并添加。

Person

答案 1 :(得分:-1)

chkListBox.DataBind();

以下

chkListBox.DataSource = fileQuery.ToArray();