0

大家好 我正在尝试使用类、数组和 for 循环创建数独游戏。非常想从 aspx 后面的代码中生成谜题。我遇到的问题是如何显示创建文本框数组的 for 循环的内容。

我有一个名为 sTextBox.cs 的类,它创建一个文本框并包含拼图的其他功能。然后我有一个类puzzleBox.cs,它创建一个sTextBox 数组。这是拼图的一个正方形的内部。然后我有创建 Box() 数组的 Puzzle 类。这样,它应该创建拼图所需的所有文本框。我只是想弄清楚如何让拼图显示在 aspx 上。

代码:

sTextBox.cs

public STextBox()
{
    txtBox = new System.Web.UI.WebControls.TextBox();

}


public System.Web.UI.WebControls.TextBox getTextBox()
{
    return txtBox;
}

盒子.cs

private SodokuTextBox[,] sTBox;

public Box()
{
    sTBox = new SodokuTextBox[3,3];

    for (int i = 0; i < 3; i++ )
    {
        for (int j = 0; j < 3; j++ )
        {
            sTBox[i, j] = new SodokuTextBox(); // make new sodoku textbox
        }
    }
}

拼图.cs

{


private Box[,] boxArray;


public Puzzle()
{
    boxArray = new Box[3, 3];

    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
        {

            boxArray[i, j] = new Box(); // make new sodoku textbox




        }
    }

我一直试图以某种方式将东西插入表格,但我发现的所有方法似乎都不适合我。谢谢你的帮助!!

编辑:

好的,所以在进一步研究之后,我认为我需要做的是以某种方式将各个文本框放在表格单元格中,然后让表格更大(9 的平方),然后将大表格放入另一个表格单元格中谜题(81 的平方) 不确定这是否是解决此问题的最佳方法,或者如果可能的话,如何真正做到这一点。

4

1 回答 1

2

在 ASPX 页面上放置一个 PlaceHolder 或一个面板,给它一个 ID,然后你可以在后面的代码中以编程方式向它添加控件,如下所示:

MyPlaceHolder.Controls.Add(textBox);

或者,您可以将 Panel 或 PlaceHolder 的引用传递给 Puzzle 构造函数:

public Puzzle(PlaceHolder placeHolder)

如果你想在你的代码中创建一个表,你可以这样做:

    Table tbl = new Table();
    tbl.ID = "table1";

    placeHolder.Controls.Add(tbl);

    for (int row = 0; row < 5; row++)
    {
        TableRow rw = new TableRow();


        TableCell cell = new TableCell();

        Label text = new Label();
        text.Text = "text";

        cell.Controls.Add(text);
        rw.Cells.Add(cell);

        tbl.Controls.Add(rw);

    }
于 2013-03-28T19:02:46.970 回答