0
public MainPage()
{
    InitializeComponent();
    CheckBox c = new CheckBox();
    for (int i = 0; i < 2; i++)
    {
       c.Content = " Value ";
       lbox.Items.Add(c);
    }
}

lbox是 UI 中的一个空列表框,上面的代码抛出一个未处理的异常,该异常被App.xaml.cs. 如果我删除 for 循环,代码可以正常工作。这段代码有什么问题?

4

5 回答 5

5

CheckBox在循环外初始化一次,然后添加两次。将其移动到 for 循环内。

    for (int i = 0; i < 2; i++)
    {
        CheckBox c = new CheckBox();
        c.Content = " Value " ;
        lbox.Items.Add(c);
    }
于 2013-01-02T13:42:17.243 回答
4

在循环中创建一个新的复选框实例

public MainPage()
{
    InitializeComponent();

    for (int i = 0; i < 2; i++)
    {
        CheckBox c = new CheckBox();
        c.Content = " Value " ;
        lbox.Items.Add(c);
    }
}
于 2013-01-02T13:43:26.340 回答
3

尝试将复选框放入循环中

public MainPage()
{
    InitializeComponent();

    for (int i = 0; i < 2; i++)
    {
        CheckBox c = new CheckBox();
        c.Content = " Value " ;
        lbox.Items.Add(c);
    }
}
于 2013-01-02T13:44:04.990 回答
1

波纹管代码没关系:

在 Form1.Designer.cs 中,您必须定义:

partial class From1
{   
    private.System.Windows.Forms.ListBox lbos;
    private.System.Windows.Forms.CheckBox c;
}

在 Form1.cs 中你必须写:

public MainPage()
{
    InitializeComponent();

    for (int i = 0; i < 2; i++)
    {
        this.c.Text = " Value " ;
        this.lbox.Items.Add(c);
    }
}
于 2013-01-02T14:05:12.017 回答
0
public MainPage()
{
    InitializeComponent();
    for (int i = 0; i < 2; i++)
    {
        lbox.Items.Add(new CheckBox{Content =" Value "});
    }
}
于 2013-01-02T13:44:52.533 回答