-2

WPF数独で書いていますが、TextBoxの配列が必要です。私は81個のテキストボックスを持っています。それらの名前はtxt11、txt21、txt31で始まります。つまり、1行目と1列目の最初のtxt、1行目と2列目の2番目のtxtなどです。

私のコードは次のとおりです。

private TextBox[,] texts = new TextBox[9, 9];

void Initialization_text()
    {

        texts[0, 0] = txt11;
        texts[0, 1] = txt21;
        texts[0, 2] = txt31;
        texts[0, 3] = txt41;
        texts[0, 4] = txt51;
        texts[0, 5] = txt61;
        texts[0, 6] = txt71;
        texts[0, 7] = txt81;
        texts[0, 8] = txt91;

..................
}

しかし、私はそれをこのようにしたい:

void Initialization_text()
   {

        for (int i = 0; i < 9; i++)
        {
            for (int j = 0; j < 9; j++)
            {
                texts[i, j] = (TextBox)Control["txt" + j+i];//j will be the column and i will be the line
            }
        }

しかし、それは機能しません。そして私はそれを解決する方法がわかりません

4

2 に答える 2

1

あなたが書くとき

private TextBox[,] texts = new TextBox[9, 9];

「ポインタ」の配列を初期化します。ここで、すべてのポインタはnullに初期化されます。クラスのすべてのインスタンスも初期化する必要があります!

Forループでは、次のようなことを行う必要があります。

texts[i,j] = new TextBox();
texts[i,j].text = "txt" + i.ToString() + j.ToString();
于 2013-02-26T20:36:57.187 に答える
-1
Control["txt" + j.ToString() + i.ToString()]
于 2013-02-26T20:29:46.813 に答える