Итак, вот мой массив столбцов группового ящика с текстовыми полями внутри.Как включить следующий столбец вместо следующей строки?
То, что я хочу сделать, это сделать так, что, когда вкладки пользователь будет перейти к следующему столбцу и остаются в той же строке.
Ex: Если пользователь находится во 2-й колонке, 1-й строке, он должен перейти в 3-й столбец 1-й строки. Однако, что происходит на основе моего кода, так это то, что он опускается вниз, когда он достигает дна, он перейдет к следующей строке и будет идти оттуда.
private System.Windows.Forms.TextBox[,] statsBonus = new System.Windows.Forms.TextBox[6, 3]; // x, y
private System.Windows.Forms.GroupBox[] statsCol = new System.Windows.Forms.GroupBox[6];
for (int j = 0; j < statsCol.Length; j++)
{
statsCol[j] = new System.Windows.Forms.GroupBox();
this.statsCol[j].Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.statsCol[j].Location = new System.Drawing.Point(190 + j * 80, 20);
this.statsCol[j].Size = new System.Drawing.Size(72, 100);
this.statsCol[j].TabIndex = j + 1;
this.statsCol[j].TabStop = false;
this.statsCol[j].Text = statsLabel[j];
this.groupBox2.Controls.Add(statsCol[j]);
for (int i = 0; i < statsBonus.GetLength(1); i++)
{
statsBonus[j, i] = new System.Windows.Forms.TextBox();
this.statsBonus[j, i].Size = new System.Drawing.Size(35, 20);
this.statsBonus[j, i].Font = new System.Drawing.Font("Microsoft Sans Serif", 8, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.statsBonus[j, i].TabIndex = i + 1;
this.statsBonus[j, i].Anchor = AnchorStyles.None;
this.statsBonus[j, i].Dock = DockStyle.None;
Point pt = this.statsCol[j].DisplayRectangle.Location;
pt.X += (this.statsCol[j].DisplayRectangle.Width - this.statsBonus[j, i].Width)/2;
pt.Y = 20 + i * 25;
this.statsBonus[j, i].Location = pt;
this.statsBonus[j, i].Text = "0";
statsBonus[j, i].Parent = this;
this.statsCol[j].Controls.Add(statsBonus[j, i]);
}
}
я удалил 'this.statsCol [J] .TabIndex = J + 1; line' и 'this.statsBonus [j, i] .TabIndex = i + 1;' Затем я добавил 'this.statsBonus [j, i] .TabIndex = statsBonus.GetLength (1) * j + 1;' во внутренней но он все равно дает мне тот же результат – puretppc
@ RafaelF. Я сделал именно то, что он сказал, и попробовал то, что вы сделали, но я все равно получаю то же самое :( – puretppc
@ RafaelF. Он тоже не работает. Вы проверили его, возможно, на чистом проекте? – puretppc