.NET Compact framework(C#):将复选框添加到列表框
我想在listbox控件中添加一个复选框控件 列表框必须包含两个任务,并且我必须检查任务之前是否已打开 我有一个代码示例,但它将复选框添加为对象,而不是控件.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 {
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;
}
}
鲁本,你应该把它标记为正确答案。费德鲁斯,这对我也有帮助,谢谢。鲁本,你应该把它标记为正确答案。费德鲁斯,这对我也有帮助,谢谢。