- 博客(11)
- 资源 (7)
- 收藏
- 关注
原创 WPF获得鼠标位置的方法
方法1使用静态方法Mouse.GetPosition 。该方法可以获得与指定元素相对的鼠标位置,参数为你要指定的元素,如果为null,那么将获得最顶层窗口上鼠标的位置。方法2在鼠标事件处理函数中通过MouseButtonEventArgs 类型的事件参数的GetPosition 方法获得与指定元素相对的鼠标位置。
2017-02-24 17:42:46 5307 4
翻译 IsMouseOver 和MouseEnter\MouseLeave 事件
在界面程序中IsMouseOver 属性用来判断鼠标是否在某个界面元素上悬停。如果当一个界面元素在逻辑树中被另外一个元素包含,当鼠标同时停在两个元素上的时候,两个元素的IsMouseOver 都是true,无论下面的元素是否被遮住。当IsMouseOver 属性从false变为true的时候会触发UIElement 的MouseEnter 事件,当IsMouseOver 属性从true变为
2017-02-22 16:16:19 8940 1
原创 修改鼠标双击判断时间间隔
在WPF鼠标事件中,我们可以通过事件参数的ClickCount 属性来判断鼠标连续点击的次数。那么鼠标在多久的时间间隔内点击才被算作是连续点击呢?这个是可以在系统里设置的。在Window7系统里,在控制面板中找到鼠标,选择“双击速度”那一项。在Window8系统里也是一样需要找到鼠标点击。如下图鼠标双击的判断时间可以设置从200毫秒到900毫秒。
2017-02-20 17:50:15 11594
翻译 #655 – 冒泡事件可能会被某些控件屏蔽(Bubbling Mouse Events Swallowed by Some Controls)
当你在一个Label 控件点击鼠标左键的时候,你可以看到一些列的隧道和冒泡事件被触发,如下图:然而,如果你在TextBox 控件上点击鼠标左键,你可以仅仅只能触发隧道事件。其他的冒泡事件将不会在TextBox 控件上被触发。通常情况下,当用户在控件上按下鼠标键控件需要做某些事情的时候,控件会屏蔽掉相关的事件。例如,点击TextBox 需要给控件设置获得输入焦点,点击Button 或
2017-02-16 16:43:20 430
翻译 StringBuilder 的容量(StringBuilder Capacity)
在使用StringBuilder 实例的时候,你不需要关心它为其存储的字符串分配了多大的内存,它会自动为字符串创建足够的内存。其Capacity 属性表明了一个StringBuilder 实例最多可以存储多少个字符,当存储的字符所需的空间大于这个数的时候,StringBuilder 会自动增大内存,增加Capacity 。而StringBuilder 实例的Length 属性则表示当前存储
2017-02-09 18:05:57 13772 2
原创 获得任何按键状态的方法
之前提到了在按键事件处理函数中获得触发事件的按键的状态的方法。那么如果获得其它按键状态呢?有一下几张方法: 1. 在按键事件处理函数中通过事件但是获得键盘设备实例,然后通过IsKeyDown, IsKeyToggled,IsKeyUp 函数获得按键状态。 e.KeyboardDevice.IsKeyToggled(Key.CapsLock); 2. 使用静态类Keyboard
2017-02-09 11:40:10 3894
翻译 #649 – KeyStates 属性包含了 IsDown 和IsToggled的内容(KeyStates Property Combines IsDown and IsToggled)
在按键按下事件处理函数中,你可以确定触发该事件的按钮的状态。事件参数的IsDown 和IsToggled属性可以告诉我们按钮现在是否按下和是否打开切换开关。你也可以通过事件参数的KeyStates 属性获得这些信息。这个属性的值是一个枚举的组合(用不同的位表示不同的状态)。private void TextBox_PreviewKeyDown(object sender, KeyEvent
2017-02-08 10:54:48 694
翻译 #646 – 在按键按下事件处理程序中判断按键开关状态(Detecting a Key’s Toggle State in a Keypress Handler)
在键盘上,有些键是可以切换状态的开关键,一些常用的开关键为:Caps Lock(大小写开关键), Scroll Lock(滚动锁定键) 和Num Lock(数字键盘开关键)。注意,通常情况下Shift键不被认为是开关键。当按键被按下,我们可以通过按键按下事件处理函数的参数中的KeyEventArgs.IsToggled 属性来判断按键状态是打开或者关闭。private void TextB
2017-02-06 16:06:57 1561
翻译 #645 – 确定当前发生更改的键(Checking for the Presence of Modifier Keys)
在使用组合键的时候(Alt、Ctrl、Shift和其他键组合),在按键按事件(PreviewKeyDown, KeyDown, PreviewKeyUp and KeyUp)中可以使用事件参数中的KeyEventArgs.KeyboardDevice.Modifiers 属性来判断当前引起当前事件发送的按键。该属性的值是一个按键值的枚举。你可以对该属性进行“与”操作单独判断某个键是否发生改变。如下
2017-02-06 14:33:04 647
原创 C#中使用@替代使用转意字符
在字符串中,如果出现一些特殊的字符,需要使用转意字符表示,这样很麻烦。其实可以在字符串前面增加"@"来替代使用转意字符。比如表示路径:string file = "C:\\MyDir\\Another Dir\\thefile.txt";可以使用下面的代码替换,结果是一样的。string file = @"C:\MyDir\Another Dir\thefile.txt";
2017-02-05 17:09:19 944
原创 Focusable 属性和IsTabStop 属性之间的关系
控件的Focusable 属性确定控件是否允许接收键盘输入焦点,控件的 IsTabStop 属性确定是否允许通过Tab键导航到控件。在默认情况下,Focusable 属性位true的控件IsTabStop 属性也会为true。当Focusable 属性为true,IsTabStop 属性为true的时候,控件可以接收键盘输入焦点,也可以通过Tab键导航到控件;当Focusable 属性为t
2017-02-05 15:59:25 3280
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人