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

ループの外側で 1 回初期化CheckBoxし、それを 2 回追加しています。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 に答える