-2

我正在写 WPF 数独,我需要一个文本框数组。我有 81 个文本框,它们的名称以 txt11、txt21、txt31 开头,这意味着第 1 行和第 1 列中的第一个 txt,第 1 行和第 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];

您初始化“指针”数组,其中每个指针都初始化为空。您还必须初始化该类的每个实例!

在您的 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 回答