Create buttons at run time

3

I want to create a small web game where the user will make the decision of the characters at runtime. At the moment I have the following screen:

Whentheuserclicksontheleftbutton,forexample,Iwouldliketocreatealabelbelowtheleftbutton,alongwith2buttonsAandB,alsodefiningablockofcodeonthebuttonA,andanotheroneforthebuttonbuttonB.Visually,afterclickingtheleftbutton,itwouldlooklikethis:

C#codeIhaverightnow:

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;namespaceProjetoG1{publicpartialclassPadrao:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){Response.Write("Seja bem vindo(a) ao futuro game!" + "<br>");
        }

        protected void btnEsquerda_Click(object sender, EventArgs e)
        {
            Response.Write("Você escolheu o botão esquerdo, então irá terá que escolhe entre os botões A e B");
            /* Aqui é onde quero criar o botão A e B, incluindo o código onclick que será executado quando esses botões
            Forem clicados  */
        }

        protected void btnDireita_Click(object sender, EventArgs e)
        {
            Response.Write("Você escolheu o botão direito, então irá terá que escolhe entre os botões C e D");
            /* Aqui é onde quero criar o botão C e D, incluindo o código onclick que será executado quando esses botões
            Forem clicados  */
        }
    }
}

HTML code:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Padrao.aspx.cs" Inherits="ProjetoG1.Padrao" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        Teste de interação com o usuário. Escolhe o botão da esquerda ou direita para continuar. A história seguirá rumos diferentes em cada um dos botões.<br />

    </div>
        <asp:Button ID="btnEsquerda" runat="server" OnClick="btnEsquerda_Click" Text="Esquerda" />
        <asp:Button ID="btnDireita" runat="server" OnClick="btnDireita_Click" Text="Direita" Width="93px" />

    </form>
</body>
</html>

How could I code this?

    
asked by anonymous 05.01.2016 / 04:09

1 answer

2

Hello, you can do this as follows.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Botoes.aspx.cs" Inherits="WebApplication1tiraduvidas.Botoes" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title></title>
</head>
<body>
  <form id="form1" runat="server">
  <div>
    Teste de interação com o usuário. Escolhe o botão da esquerda ou direita para continuar.
    A história seguirá rumos diferentes em cada um dos botões.<br />
  </div>
  <div>
    <asp:Button ID="btnEsquerda" runat="server" OnClick="btnEsquerda_Click" Text="Esquerda" />
    <asp:Button ID="btnDireita" runat="server" OnClick="btnDireita_Click" Text="Direita"
      Width="93px" />
  </div>
  <div>
    <asp:Label ID="lblmsg" runat="server" Visible="false"></asp:Label>
  </div>
  <div>
    <asp:Table ID="Table1" runat="server">
    </asp:Table>
  </div>
  </form>
</body>
</html>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1tiraduvidas
{
    public partial class Botoes : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void btnEsquerda_Click(object sender, EventArgs e)
        {
            lblmsg.Text = String.Empty;
            lblmsg.Visible = true;
            lblmsg.Text = "Você escolheu o botão esquerdo, então irá terá que escolhe entre os botões A e B";

            TableRow trA = new TableRow();
            TableCell tdA = new TableCell();
            Button btA = new Button { ID = "btnEsquerda_A" };
            btA.Text = "A";
            btA.Click += new EventHandler(butA_Click);
            tdA.Controls.Add(btA);
            trA.Cells.Add(tdA);
            Table1.Rows.Add(trA);

            TableCell tdB = new TableCell();
            Button btB = new Button { ID = "btnEsquerda_B" };
            btB.Text = "B";
            btB.Click += new EventHandler(butB_Click);
            tdB.Controls.Add(btB);
            trA.Cells.Add(tdB);
            Table1.Rows.Add(trA);
        }

        protected void btnDireita_Click(object sender, EventArgs e)
        {
            lblmsg.Text = String.Empty;
            lblmsg.Visible = true;
            lblmsg.Text = "Você escolheu o botão direito, então irá terá que escolhe entre os botões C e D";

            TableRow trC = new TableRow();
            TableCell tdC = new TableCell();
            Button btC = new Button { ID = "btnEsquerda_C" };
            btC.Text = "C";
            btC.Click += new EventHandler(butC_Click);
            tdC.Controls.Add(btC);
            trC.Cells.Add(tdC);
            Table1.Rows.Add(trC);

            TableCell tdD = new TableCell();
            Button btD = new Button { ID = "btnEsquerda_B" };
            btD.Text = "D";
            btD.Click += new EventHandler(butD_Click);
            tdD.Controls.Add(btD);
            trC.Cells.Add(tdD);
            Table1.Rows.Add(trC);
        }

        protected void butA_Click(object sender, EventArgs e)
        {

        }
        protected void butB_Click(object sender, EventArgs e)
        {

        }
        protected void butC_Click(object sender, EventArgs e)
        {

        }
        protected void butD_Click(object sender, EventArgs e)
        {

        }
    }
}
    
05.01.2016 / 11:21