1

我听起来绝对是个菜鸟,但我压力很大,以至于我无法正确地进行任何研究。

基本上我在一个列表中得到了 127 个道路名称,我想在标签中以随机顺序一个接一个地显示它们,如果正确的一个增加到绿色框,我会回答它们,如果它错误,然后增加到黄色框,但同时时间它会在标签中显示我正确的答案,然后按下提交按钮它将带我到下一个道路名称,这是我到目前为止所做的,

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        RL = RoadLocationNames();
        i = 1;
        red = 1;
        y = 1;
    }

    List<KeyValuePair<string, string>> RL;
    int i,red, y;

    private void button1_Click(object sender, EventArgs e)
    {
        Random random = new Random();
        int r = random.Next(RL.Count);

        lbLocation.Text = RL.ElementAt(r).Key;

        if (tbRoad.Text.ToLower() == RL.ElementAt(r).Value.ToLower())
        {
            Green.Text = i.ToString();
            i++;
            RL.Remove(RL.ElementAt(r));
        }
        else
        {
            label3.Text = RL.ElementAt(r).Value.ToString();
            Red.Text = i.ToString();
            i++;
        }

        Yellow.Text = y.ToString();
        y++;

    }

    public List<KeyValuePair<string, string>> RoadLocationNames()
    {
        List<KeyValuePair<string, string>> RLNs = new List<KeyValuePair<string,string>>();
        RLNs.Add(new KeyValuePair<string, string>("Road Name", "Location Name"));

        return RLNs;
    }

现在我的互联网太慢了,我几乎无法上传表格的任何屏幕截图,但我会尝试..我明天要考试了,我想用这个应用程序做准备,但我不确定,

  • 如何显示道路名称而不是(道路名称及其答案,这是我的代码现在正在执行的操作),这可能是因为我在按钮提交中做所有事情,我需要逻辑和代码方面的帮助(对不起,但我很匆忙)

我需要快速响应代码

4

1 回答 1

1

是的,这是因为你在提交中做了所有事情。我建议您将代码拆分为以下内容:

  1. 初始化 - 创建道路名称和位置列表,然后运行设置(下一步)。
  2. 设置 - 清除用户当前的答案,随机选择道路名称/位置对并在表单上显示问题部分。
  3. 用户提交 - 检查答案,增加适当的计数器,如果答案是正确的再次运行设置,否则显示答案应该是什么。

初始化可以在您的表单构造函数中完成。设置应该是私有方法。用户提交应该是您的点击处理程序。

(看起来你正在增加i正确和错误的答案,这可能是不正确的。这就是为什么你选择比单个字母更好的变量名来使这样的错误更明显。)

于 2012-11-20T08:39:42.157 回答