一步一步学Silverlight 2系列(6):键盘事件处理
生活随笔
收集整理的這篇文章主要介紹了
一步一步学Silverlight 2系列(6):键盘事件处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
概述
Silverlight 2 Beta 1版本發布了,無論從Runtime還是Tools都給我們帶來了很多的驚喜,如支持框架語言Visual Basic, Visual C#, IronRuby, Ironpython,對JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。《一步一步學Silverlight 2系列》文章帶您快速進入Silverlight 2開發。 本文為系列文章第六篇,介紹Silverlight中的鍵盤處理事件,在Silverlight 2中,支持KeyDown和KeyUp兩個事件。聲明事件
所有的事件聲明過程都是一樣的,在XAML中或者是在代碼中進行注冊。<Canvas x:Name="LayoutRoot" Background="#46461F"><Ellipse x:Name="ellipse" Width="120" Height="120" Fill="Orange"Canvas.Top="50" Canvas.Left="160"Stroke="White" StrokeThickness="2"KeyUp="ellipse_KeyUp"KeyDown="ellipse_KeyDown"/> </Canvas> 或者在代碼中注冊:public partial class Page : UserControl {public Page(){InitializeComponent();this.ellipse.KeyUp += new KeyEventHandler(ellipse_KeyUp);this.ellipse.KeyDown += new KeyEventHandler(ellipse_KeyDown);}private void ellipse_KeyUp(object sender, KeyEventArgs e){}private void ellipse_KeyDown(object sender, KeyEventArgs e){} }使用事件參數KeyEventArgs
使用事件參數可以獲取到事件數據,可以使用的屬性有Key、PlatformKeyCode、Handled、Source。private void ellipse_KeyUp(object sender, KeyEventArgs e) {if (e.Key == Key.R){//......}else if(e.Key == Key.Ctrl && e.Key == Key.U){ //......} } 在事件數據中,Handled有時候非常有用,可以用來判斷事件是否已經處理。鍵盤路由事件
鍵盤事件KeyDown和KeyUp都支持路由事件,如下面的示例。<Canvas x:Name="LayoutRoot" Background="#46461F" KeyUp="LayoutRoot_KeyUp"><TextBox x:Name="textbox" Width="200" Height="40"Canvas.Top="80" Canvas.Left="80"/><Button x:Name="button" Width="100" Height="40"Canvas.Top="80" Canvas.Left="280"Background="Red" Margin="20 0 0 0" Content="Submit"/><TextBlock x:Name="Status" Foreground="White" Text="Status"Canvas.Left="80" Canvas.Top="200"/> </Canvas> 為Canvas注冊了一個KeyUp事件,編寫事件處理程序。private void LayoutRoot_KeyDown(object sender, KeyEventArgs e) {if (e.Key != Key.Unknown){String msg = "The key " + e.Key.ToString();msg += " was pressed while focus was on " + (e.Source as FrameworkElement).Name;statusTextBlock.Text = msg;} } 運行程序,當文本框獲得焦點并輸入t時 ? 按鈕獲得焦點 ?結束語
關于鍵盤事件都簡單的介紹到這兒,希望對大家有用。轉載于:https://blog.51cto.com/terrylee/67225
總結
以上是生活随笔為你收集整理的一步一步学Silverlight 2系列(6):键盘事件处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (转)Solaris 10 的基本操作
- 下一篇: 三个纺纱女