C# C:按下Enter键时更改DropDownList值

C# C:按下Enter键时更改DropDownList值,c#,winforms,C#,Winforms,我有一个windows窗体,其中有一个带有固定项目数的下拉列表。当我按下Enter键时,如何使DropDownList增加到下一个项目,当它到达项目的末尾时,返回到第一个项目 您需要处理KeyDown事件并更改SelectedIndex属性。您需要处理KeyDown事件并更改SelectedIndex属性。您正在查找else关键字和++速记。我按enter键时不会触发KeyDown事件,因为我已设置AcceptButton变量。我该怎么做?请参阅我上面的评论。您正在查找else关键字和++速记。

我有一个windows窗体,其中有一个带有固定项目数的下拉列表。当我按下Enter键时,如何使DropDownList增加到下一个项目,当它到达项目的末尾时,返回到第一个项目

您需要处理KeyDown事件并更改SelectedIndex属性。

您需要处理KeyDown事件并更改SelectedIndex属性。

您正在查找else关键字和++速记。我按enter键时不会触发KeyDown事件,因为我已设置AcceptButton变量。我该怎么做?请参阅我上面的评论。您正在查找else关键字和++速记。我按enter键时不会触发keydown事件,因为我已设置AcceptButton变量。我该怎么做?请参阅上面的评论。如果您计划在多个地方使用此控件,您应该考虑将其设置为自定义用户控件。这些答案将正常工作,但我已经设置了Access按钮变量:SIT.AcctPuttuts= SuMutBut纽;使用此设置,按下enter键时不会触发keydown事件。有办法解决这个问题吗?我想输入触发SubmitButton并增加ComboBox中的值。谢谢eschneider,我将使用keydown事件处理程序触发submit按钮。如果你打算在多个地方使用这个控件,你应该考虑让它成为一个自定义的用户控件。这些答案将正常工作,但是我已经设置了Access按钮变量:SIT.AcctPuttBaseSudiBut纽;使用此设置,按下enter键时不会触发keydown事件。有办法解决这个问题吗?我想输入触发SubmitButton并增加ComboBox中的值。谢谢eschneider,我将使用keydown事件处理程序触发submit按钮。那就行了。
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;
                }

            }
        }

    }
}