【问题标题】:visual studio C# combo box eventVisual Studio C# 组合框事件
【发布时间】:2017-09-04 08:10:30
【问题描述】:
   private void droplesson_SelectedIndexChanged(object sender, EventArgs e)
    {
        if(e.Equals("LESSON1"));
        reload("LESSON1.txt");
        if(e.Equals("LESSSON2"));
        reload("LESSON2.txt");
        if(e.Equals("LESSON3"));
        reload("LESSON3.txt");
        if(e.Equals("LESSON4"));
        reload("LESSON4.txt");
        if (e.Equals("LESSON5"));
        reload("LESSON5.txt");

    }

以上代码不工作。我想更改下拉菜单,以便当我选择特定课程时它会重新加载该课程。enter image description here

【问题讨论】:

  • 说“不工作”是不够的,需要详细说明。而且-您的代码不清楚-您正在输入“;”在每个“if”语句的末尾 - 所以一切都会重新加载......
  • 是的,最后一条语句只在执行,即 LESSON5 只在加载

标签: c# events combobox selectedindexchanged


【解决方案1】:

您添加了“;”在每一行的末尾,包括“if”行,所以所有的“reload”调用都被执行了......

你的代码应该是这样的:

private void droplesson_SelectedIndexChanged(object sender, EventArgs e)
{
    if(e.Equals("LESSON1"))
        reload("LESSON1.txt");
    if(e.Equals("LESSSON2"))
        reload("LESSON2.txt");
    if(e.Equals("LESSON3"))
        reload("LESSON3.txt");
    if(e.Equals("LESSON4"))
        reload("LESSON4.txt");
    if (e.Equals("LESSON5"))
        reload("LESSON5.txt");
}

【讨论】:

  • 那么,如何只重新加载一条语句
  • 我上面给出的代码根据'e'的值执行一条语句。还不清楚的是什么?
  • 我想要这样的代码,当在下拉菜单中选择一个项目时,它会改变主框中的相应文本。
  • 好吧,我不会为你写那个代码......我指出了你发布的代码中的逻辑问题,我不知道'reload'做什么,我留下这个给你。您发布的代码会导致所有 5 次“重新加载”调用始终执行,并且 reload("LESSON5.txt") 始终最后执行。我为你修复了它,所以'reload'根据'e'的值执行。如果您有其他问题,请在其他代码上发布。
猜你喜欢
  • 2016-09-05
  • 1970-01-01
  • 2011-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-25
  • 1970-01-01
相关资源
最近更新 更多