[英]C#: Change DropDownList value when Enter key is pressed
I have a windows form with a DropDownList with a fixed number of items. 我有一个带有DropDownList的Windows窗体,其中包含固定数量的项目。 How do I make the DropDownList increment to the next item when I press Enter and when it reaches the end of the items, return to the first item. 当我按Enter键时,如何使DropDownList增量到下一个项目,当它到达项目的末尾时,返回到第一个项目。
您需要处理KeyDown
事件并更改SelectedIndex
属性。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.KeyPreview = true;
}
private void Form1_Load(object sender, EventArgs e)
{
this.comboBox1.DataSource = CreateItems();
}
private List<string> CreateItems()
{
List<string> lst = new List<string>();
lst.Add("One");
lst.Add("Two");
lst.Add("Three");
lst.Add("Four");
return lst;
}
private void comboBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Enter)
{
if (comboBox1.SelectedIndex == comboBox1.Items.Count-1)
{
comboBox1.SelectedIndex = 0;
return;
}
if (comboBox1.SelectedIndex >=0 & comboBox1.SelectedIndex< comboBox1.Items.Count-1)
{
comboBox1.SelectedIndex = comboBox1.SelectedIndex+1;
}
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.