C# 如何在单击按钮的位置获取值?

C# 如何在单击按钮的位置获取值?,c#,C#,我的代码有问题。我试图做一个问答游戏,但我限制了表格10,其中按钮点击=10,我显示学生的价值 这是我显示问题的代码 public void perintahsql() { sql = "SELECT * FROM soal ORDER BY RAND() LIMIT 1"; tsoal = koneksi.tampil_data(sql); ide = tsoal.Rows[0].ItemArray[0].ToString(); soale = tsoal.Ro

我的代码有问题。我试图做一个问答游戏,但我限制了表格10,其中按钮点击=10,我显示学生的价值

这是我显示问题的代码

public void perintahsql()
{
    sql = "SELECT * FROM soal ORDER BY RAND() LIMIT 1";
    tsoal = koneksi.tampil_data(sql);
    ide = tsoal.Rows[0].ItemArray[0].ToString();
    soale = tsoal.Rows[0].ItemArray[1].ToString();
    ae = tsoal.Rows[0].ItemArray[2].ToString();
    be = tsoal.Rows[0].ItemArray[3].ToString();
    ce = tsoal.Rows[0].ItemArray[4].ToString();
    de = tsoal.Rows[0].ItemArray[5].ToString();
    je = tsoal.Rows[0].ItemArray[6].ToString();
    textBox1.Text = soale;

    label1.Text = ide;
    rbA.Text = ae;
    rbB.Text = be;
    rbC.Text = ce;
    rbD.Text = de;
    //total();

    labeljawabanpersoal.Text = je;  //ini sebelumnya ga ada (yg jadi masalah nya)
    //int total=0;      //ga kepake bisa dihapus
    string rb = "";
    //labeljawabanpersoal.Visible= false;  //ini pindahin ke load aja

    if (rbA.Checked)
    {        
        //=true nya dihapus atau seharusnya ganti jadi == true (double samadengan)
        rb = "A";
    }
    else if (rbB.Checked)
    {
        rb = "B";
    }
    else if (rbC.Checked)
    {
        rb = "C";
    }
    else if (rbD.Checked)
    {
        rb = "D";
    }

    if (rb == labeljawabanpersoal.Text)
    {
        labelskor.Text = Convert.ToString(Int32.Parse(labelskor.Text) + 10);
    }
}
当我点击按钮时,我尝试这个代码

private void buttonnext_Click(object sender, EventArgs e)
{
    int i;
    i = 10;
    if (1 != 0)
    {
        perintahsql();
        i++;
    }
    else
    {
        bukanilai();
    }  

    }

public void bukanilai()
{
    Nilai N = new Nilai();
    N.ShowDialog();
}
为什么单击10次后无法显示新表单

  • i
    必须是全局变量
  • i=10
  • if(1!=0)
    必须更改为
    if(i<10)
  • 应设置
    i=0bukanilai()后的code>
  • private int i=0;
    私有无效按钮下一步单击(对象发送者,事件参数e)
    {
    //int i;(old)=>必须移动到全局变量
    //i=10;(旧)
    if(i<10)//if(1!=0)(旧)
    {
    sql();
    i++;
    }
    其他的
    {
    布卡尼莱();
    i=0;//可以添加此行
    }    
    }
    

    if(1!=0)
    应该是
    if(i!=0)
    ,而且他们不可能是
    else
    ,因为
    i
    将始终是
    10
    declare
    i
    在此句柄之外首先,您需要将
    i
    变量声明为全局变量。然后在“下一步”按钮中,如果(i<10)
    跟随@Mark,则为
    ,最后应重置i=0;调用bukanilai()之后;方法i将1更改为i,且i=0;但是它不起作用
    
    private int i = 0;    
    private void buttonnext_Click(object sender, EventArgs e)
    {
      // int i; (old) => Must move to global variable
      // i = 10; (old)
      if (i < 10) // if (1 != 0) (old)
      {
          perintahsql();
          i++;
      }
      else
      {
          bukanilai();
          i = 0; // Maybe add this line
      }    
    }