c#数独拼图

本文关键字:拼图 | 更新日期: 2023-09-27 18:06:27

嗨,我正在尝试使用类,数组和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;
}

Box.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
        }
    }
}

puzzle.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的平方)不确定这是否是最好的方法或者如何真正做到这一点如果可能的话

c#数独拼图

在ASPX页面上放置一个占位符或面板,给它一个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);
    }