可以';t catch TAB键向上

本文关键字:TAB catch 可以 | 更新日期: 2023-09-27 18:26:37

我试图捕捉TAB键事件,但它不起作用,我尝试使用此代码,但仍然没有结果,我应该做什么:

 protected override bool IsInputKey(Keys keyData)
    {
        if (keyData == Keys.Tab)
            return true;
        return base.IsInputKey(keyData);
    }

请帮忙!谢谢

我正在努力做到这一点:

        private void comboBox1_KeyUp(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Tab)
        {
            try
            {
                DataView dv = glObalDataSet.Tables["JOBURI"].DefaultView;
                dv.RowFilter = "CONT = '" + comboBox1.SelectedValue.ToString() + "'";
                comboBox2.DataSource = LoadDataTable(dv);
                comboBox2.DisplayMember = "JOB";
                comboBox2.AutoCompleteCustomSource = LoadAutoComplete("JOB", dv);
                comboBox2.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
                comboBox2.AutoCompleteSource = AutoCompleteSource.CustomSource;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }

可以';t catch TAB键向上

尝试使用消息过滤器:

我不确定我在这里使用了正确的制表键,请尝试在这里找到正确的:http://www.woodmann.com/fravia/sources/WINUSER.H

// Add IMessageFilter to the form
public partial class Form1 : Form, IMessageFilter
    public bool PreFilterMessage(ref Message m)
    {
        if (m.Msg == 0x0100)
            {
        {
            DataView dv = glObalDataSet.Tables["JOBURI"].DefaultView;
            dv.RowFilter = "CONT = '" + comboBox1.SelectedValue.ToString() + "'";
            comboBox2.DataSource = LoadDataTable(dv);
            comboBox2.DisplayMember = "JOB";
            comboBox2.AutoCompleteCustomSource = LoadAutoComplete("JOB", dv);
            comboBox2.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            comboBox2.AutoCompleteSource = AutoCompleteSource.CustomSource;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
                return true;
            }
        return false;
    }

编辑:我认为正确的键是0x0100