Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#文本框数组_C#_.net_Wpf - Fatal编程技术网

C#文本框数组

C#文本框数组,c#,.net,wpf,C#,.net,Wpf,我在写WPF数独,我需要一个文本框数组。 我有81个文本框,它们的名字以txt11、txt21、txt31开头,这意味着第一行和第1列中的第一个文本,第1行和第2列中的第二个文本…等等 我的代码是: private TextBox[,] texts = new TextBox[9, 9]; void Initialization_text() { texts[0, 0] = txt11; texts[0, 1] = txt21; tex

我在写WPF数独,我需要一个文本框数组。 我有81个文本框,它们的名字以txt11、txt21、txt31开头,这意味着第一行和第1列中的第一个文本,第1行和第2列中的第二个文本…等等

我的代码是:

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
            }
        }
void初始化\u text()
{
对于(int i=0;i<9;i++)
{
对于(int j=0;j<9;j++)
{
text[i,j]=(TextBox)控件[“txt”+j+i];//j将是列,i将是行
}
}
但它不起作用。 当你写作时,我不知道如何解决它

Control["txt" + j.ToString() + i.ToString()]
private TextBox[,] texts = new TextBox[9, 9];
初始化“指针”数组,其中每个指针都初始化为null。 您还必须初始化类的每个实例

在For循环中,您应该执行以下操作:

texts[i,j] = new TextBox();
texts[i,j].text = "txt" + i.ToString() + j.ToString();

你是什么意思“不工作”?你没有得到预期的行为吗?你应该考虑使用MVVM来跟踪Text Box控件。你是什么意思?它不工作。欢迎访问StAdvExcel。请阅读和文本[i,j] =新Text Box();text [ i,j]。text =“txt”+(j+ 1)。toStGrn(+)+(i+ 1).ToString();现在它的工作谢谢大家!!!这不会改变任何事情。
“txt”
将首先与
j
关联,然后再与
i
关联
i+j
不会首先计算。您不需要(i+j)computedYou是对的,他没有。他现在没有这样做。这段代码的输出与OP完全相同,但它只是使用了更多的代码。运算符是从左到右应用的,而不是从右到左。在他的第一个示例中,他似乎已经通过设计器创建了所有81个文本框,所以它们确实存在。哦,maybe我不明白这个问题。那不是真的…哦,谢谢…你的解决方案就是我需要的。你明白我的问题Zdravko danev,什么是假的?她说它解决了她的问题