.NET Compact framework(C#):将复选框添加到列表框

.NET Compact framework(C#):将复选框添加到列表框,c#,compact-framework,listbox,checkbox,C#,Compact Framework,Listbox,Checkbox,我想在listbox控件中添加一个复选框控件 列表框必须包含两个任务,并且我必须检查任务之前是否已打开 我有一个代码示例,但它将复选框添加为对象,而不是控件 while (reader.Read()) { CheckBox c = new CheckBox().Enabled = false; c.Text = reader.GetString(0) + ". " + reader.GetString(1); try {

我想在listbox控件中添加一个复选框控件

列表框必须包含两个任务,并且我必须检查任务之前是否已打开

我有一个代码示例,但它将复选框添加为对象,而不是控件

while (reader.Read())   
{                    
   CheckBox c = new CheckBox().Enabled = false;
   c.Text = reader.GetString(0) + ". " + reader.GetString(1);

   try 
   { 
      if (int.Parse(reader.GetString(2)) > 1) c.Checked = true; 
   } 
   catch(Exception ex)    
   {

      MessageBox.Show(ex.Message);    
   }    
   listTasks.Items.Add(c);
}
有人能帮我吗

Thnx,
Ruben

列表框仅支持字符串列表项的集合

以这种方式添加复选框将导致出现checkbox.ToString()值


您可能希望查看“CheckedListBox”控件,尽管我不确定CompactFramework中是否存在该控件

列表框仅支持字符串列表项的集合

以这种方式添加复选框将导致出现checkbox.ToString()值


您可能希望查看“CheckedListBox”控件,尽管我不确定CompactFramework中是否存在该控件

Compact框架不支持CheckedListBox控件。您可以使用属性设置为true的。Compact Framework不支持CheckedListBox控件。您可以使用属性设置为true的。允许您这样做。该软件包并非如此,但它确实具有此功能(以及其他一些有用的功能,使CF应用比标准的Windows Mobile应用感觉好得多)

注意:我知道这个问题很久以前就被问到了,但最近我们被要求为其中一个设备编写新的软件,所以我认为即使你不再需要解决这个问题,也有其他人可能从中受益

允许您执行此操作。该软件包并非如此,但它确实具有此功能(以及其他一些有用的功能,使CF应用比标准的Windows Mobile应用感觉好得多)


注意:我知道这个问题很久以前就被问到了,但最近我们被要求为其中一个设备编写新的软件,所以我认为即使你不再需要解决这个问题,也有其他人可能从中受益

使用库存控件的唯一其他选项是使用面板手动执行布局,并将AutoScroll设置为true。您可以将Panel子类化,以公开自己的Add/Remove type方法,以便在添加和删除项时执行布局。您可以使用下面的样例来布局列表。使用这种方法,您现在可以使用任何类型的控件组成列表,但是您失去了ListBox的编程便利性。我想如果有必要,您可以将这样的功能添加到Panel子类中

        public static void VerticalListLayoutStrategy(Panel panel)
    {
        int top = 0;
        foreach (Control control in panel.Controls)
        {
            control.Location = new Point(0, top);
            control.Width = panel.ClientSize.Width;
            top += control.Height;
        }
    }

使用库存控件的唯一其他选项是使用面板并手动执行布局,并将AutoScroll设置为true。您可以将Panel子类化,以公开自己的Add/Remove type方法,以便在添加和删除项时执行布局。您可以使用下面的样例来布局列表。使用这种方法,您现在可以使用任何类型的控件组成列表,但是您失去了ListBox的编程便利性。我想如果有必要,您可以将这样的功能添加到Panel子类中

        public static void VerticalListLayoutStrategy(Panel panel)
    {
        int top = 0;
        foreach (Control control in panel.Controls)
        {
            control.Location = new Point(0, top);
            control.Width = panel.ClientSize.Width;
            top += control.Height;
        }
    }

鲁本,你应该把它标记为正确答案。费德鲁斯,这对我也有帮助,谢谢。鲁本,你应该把它标记为正确答案。费德鲁斯,这对我也有帮助,谢谢。