Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.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#_Textbox - Fatal编程技术网

全局文本框数组c#

全局文本框数组c#,c#,textbox,C#,Textbox,我只是在胡闹,看看能不能用c#做一些简单的事情。我正在制作一个使用一系列文本框的程序。现在我正在使用以下代码: private TextBox[,] textboxes; private void moveup() { textboxes = new TextBox[,] { { box00, box01 }, { box10, box11 } }; textboxes[currentrow, currentcolumn].BackColor = Col

我只是在胡闹,看看能不能用c#做一些简单的事情。我正在制作一个使用一系列文本框的程序。现在我正在使用以下代码:

private TextBox[,] textboxes;

private void moveup()
{            
    textboxes = new TextBox[,] { { box00, box01 }, { box10, box11 } };
    textboxes[currentrow, currentcolumn].BackColor = Color.Black;
}
实际上,我在一些类似于“moveup”的方法中使用文本框数组,我是否可以定义其中包含的文本框一次?
提前感谢!:)

如果我理解你的问题,我想你想要这样的东西

只需将定义移到方法之外。也可以在initialize方法中执行此操作

 public partial class Form1 : Form
{
    private TextBox[,] textboxes;

    public Form1()
    {
        InitializeComponent();
        Initialize();
    }

    private void Initialize()
    {
        textboxes = new TextBox[,] { { box00, box01 }, { box10, box11 } };
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }
}
然后从构造函数中调用Initialize


更新:将以前的代码替换为实际的WinForms代码(假设您使用的是WinForms)

@DustinDavis我可以在textbox[,]中定义一次textbox,而不必像在代码片段中那样在方法中声明它们。原因是我在其他方法中使用相同的数组,并且不希望在更改textboxesbox00、box01、box10、box11的数量时必须全部编辑它们,每个都显示错误“字段初始值设定项无法引用非静态字段、方法或属性'snake2.Form1.box00'在第一行代码中offered@LucasHolmes我刚刚更新了WinForms应用程序的代码。如果你没有使用WinForms请告诉我是的,我正在使用WinForms。这段代码运行得很好,您能解释一下Form1()和Initialize()的作用吗?非常感谢。Form1()是您的类构造函数。它与类同名,但是一个方法,没有返回类型。这就是创建Form1的新实例时所调用的。然后,我们只需创建一个称为Initialize的整洁容器方法,它可以执行任何初始化任务(例如定义数组)。我们从构造函数中调用initialize,以便文本框在表单完成设置后立即得到设置。请注意,我使用initialize作为名称,但您可以将其称为setup或任何您喜欢的名称