2012-03-02 9 views
0

TAB keyUpイベントをキャッチすることはできませんが、それは仕事をdosen't、私はこのコードを使用してみましたが、まだ結果、Wathのは、私がやるべきではない:は私が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); 
      } 
     } 
    } 
+0

あると思いますか? – Jon

+1

これはWinformsにありますか?そうであれば、それ以前のように答えられました:http://stackoverflow.com/questions/2461512/how-to-intercept-capture-tab-key-in-winforms-application – Krishna

答えて

0

しようとすると、メッセージフィルタを使用します。私はこれをやろうとしている

ここに: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

+0

でもKeyDownは機能しません – XandrUu

+0

Enterで作業しますか? – Peter

+0

はい、入力は正常に動作します – XandrUu

関連する問題