组合框事件&明确的方法

时间:2017-06-23 14:01:30

标签: c# winforms window

   private void ComboBox1_TextChanged(object sender, EventArgs e)
    {
        ComboBox1.Items.Clear();
        XmlNodeList node_lst = doc["paths"].ChildNodes;
        foreach (XmlNode item in node_lst)
        {
            if (item.InnerText.Contains(ComboBox1.Text))
            {
                ComboBox1.Items.Add(item.InnerText);
            }
        }            
    }

我是这个网站的新手,我在这个事件中有问题,当我清除组合框中的项目时,我从xml文件中获取这些项目;我的问题是,当我在组合框文本中输入字母时,文本是以反向方式输入的,我预期问题在清晰的方法中,但我不知道如何做到这一点。 感谢。

2 个答案:

答案 0 :(得分:1)

当您从ComboBox中删除所有项目时,光标将被设置为第一个位置。因此,在您键入的每个字符之后,光标将向左移动,您会从右侧获得键入的感觉离开了。

解决方案是手动将for循环后的SelectionStart设置为Text的结尾:

comboBox1.SelectionStart = comboBox1.Text.Length;

答案 1 :(得分:0)

我猜你想要这样的东西:

var st = new Date();  
  $.ajax({
      url: "https//mysitewith10minresponse.com/foobar",
      type: "GET",
      dataType: "json",
      timeout: 600000, 
      success: function(response) { console.log(response); },
      error: function(jqXHR, textStatus, errorThrown) {           
          st = (new Date() - st)/1000;
          alert("Text Status " + textStatus + ", diff: " + st + " seconds");          
      }
  });

有关var nodeList = node_lst.Cast<XmlNode>() .Select(x => library.GetMemberName(int.Parse(x.InnerText))) .ToList(); nodeList.Reverse(); 的更多信息:https://msdn.microsoft.com/en-us/library/b0axc2h2(v=vs.110).aspx