C# 如何在类型复选框列表中添加项目并在复选框中显示它们?

C# 如何在类型复选框列表中添加项目并在复选框中显示它们?,c#,sql,visual-studio-2010,list,checkbox,C#,Sql,Visual Studio 2010,List,Checkbox,我的设想: 我在Windows窗体应用程序中执行学校管理系统,在该应用程序中,我必须从GUI添加类,并将该类链接到部分(它将显示哪个类有哪些部分),因此我从部分加载部分,并希望在复选框中显示它们,以便用户可以选择他正在添加的类的部分 问题: 我无法在复选框中显示章节,这将很容易为新课程选择章节 我想要的是: 我希望我正在加载的部分应该以复选框的形式显示 我的代码: try { Sections objSections = new Sections(); objSections.L

我的设想:

我在Windows窗体应用程序中执行学校管理系统,在该应用程序中,我必须从GUI添加类,并将该类链接到部分(它将显示哪个类有哪些部分),因此我从部分加载部分,并希望在复选框中显示它们,以便用户可以选择他正在添加的类的部分

问题:

我无法在复选框中显示章节,这将很容易为新课程选择章节

我想要的是:

我希望我正在加载的部分应该以复选框的形式显示

我的代码:

try
{
    Sections objSections = new Sections();
    objSections.LoadAll();
    if (objSections.RowCount > 0)
    {

        List<CheckBox> Sectionlist=new List<CheckBox>();
        for (int i = 0; i < objSections.RowCount; i++)
        {

            Sectionlist.Add(objSections.Name);  // here is error "Some invalid arguments"
        }
    }
    else
    {
        DevComponents.DotNetBar.MessageBoxEx.Show(" No Section Found, Please Add some Section And linke them with Classes. ", " Information Message! ");
        return;
    }
}
catch (Exception ee)
{
    DevComponents.DotNetBar.MessageBoxEx.Show(ee.Message);
    return;
}
试试看
{
截面对象截面=新截面();
LoadAll();
如果(objSections.RowCount>0)
{
List Sectionlist=新列表();
for(int i=0;i
我假设问题是您有一个
列表
,然后您试图将
字符串
添加到此列表中

也许你需要列表

list.Add(objSections.Name); // which will be a valid argument assuming `.Name` is of type string.
另外,您处于for循环中,不需要每次都创建一个新的列表实例

List<string> list = new List<string>();

 for (int i =0; i< objSections.RowCount; i++) {
     list.Add(objSections.Name); // I still assume this line will add the same entry for each iteration, you need to access the correct index of the array
 }
List List=新列表();
for(int i=0;i
如果您发布Sections类包含的内容,这将非常有用

List<CheckBox> Sectionlist=new List<CheckBox>();
    for (int i = 0; i < objSections.RowCount; i++)
    {

        Sectionlist.Add(new CheckBox(){Text=objSections.Name,Location=new Point(0,i*20)});  
    }

在for循环中执行此操作的原因:
list=newlist()?好的,我将在for loopDarrenDavies上方编辑和创建列表后在for loopDarrenDavies上方执行此操作。如果答案正确,您必须添加类似以下内容的内容
Sectionlist.add(new CheckBox(){Text=Name})。并在中创建新列表loop@SriramSakthivel-已调整,但最初的问题是列表的类型为
Checkbox
,传递给它的参数的类型不同。同意,所以我在评论中提到了
:)谢谢@Darren Davies,但我现在如何在复选框中显示它们呢?谢谢@Nithin Nayagam,它在复选框中给了我值,但我在所有复选框中只从数据库中获取一个值(第一个值),你能帮我解释一下为什么会这样做吗?@SaeedKhan在你的问题中的Sections类中发布代码。我不能不知道。Sections类是数据库中有5行的表。第1行=A,第2行=B,第3行=C,第4行=D,但此处显示4个复选框,其值为each@SaeedKhan请用类内的代码编辑您的问题。抱歉,如果节是一个数据表,并且您想访问数据表中的每一行,那么您应该使用Objections.Rows[I].Name
checkboxpanel.AddRange(Sectionlist.ToArray());