日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一步一步学Silverlight 2系列(6):键盘事件处理

發布時間:2024/1/17 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一步一步学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):键盘事件处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。