2012-09-14 37 views
0

我有一個簡單的應用程序,其中用戶鍵入文本並按Enter,然後文本顯示在大電視屏幕上。如何在WPF應用程序中獲取KeyChar

問題:如何在WPF應用程序中獲取e.KeyChar KeyUp事件? 還是有另一種方式?

public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 
      this.KeyUp += MainWindow_KeyUp; 
     } 

     private String Text; 

     void MainWindow_KeyUp(object sender, KeyEventArgs e) 
     { 


      if (e.Key == Key.Enter) 
      { 
       TextLabel.Content = Text; 
       Text = String.Empty; 
      } 
      else 
      { 
       Text += e.Key; 
      } 

     } 

我輸入「test」時的結果是「TEST」。 我是否必須手動處理所有系統密鑰?如果我想輸入「測試」 - >現在我得到結果「RihgtShiftTEST」。我只想要積累一個字符緩衝區,並顯示文本。

+0

可以幫助看看事件處理程序中的e.Modifiers? http://msdn.microsoft.com/en-us/library/system.windows.forms.keyeventargs.modifiers.aspx – michele

+0

是的,這將有所幫助。我有點震驚和驚訝,我必須手動執行此操作,並且以前在WindowsForms中工作的功能不再需要 – Marty

+0

您是否必須不可見地累積緩衝區?它可以在另一個窗口(在另一個屏幕上)? – AlSki

回答

相關問題