WPF获得鼠标位置的方法

方法1 使用静态方法Mouse.GetPosition 。该方法可以获得与指定元素相对的鼠标位置,参数为你要指定的元素,如果为null,那么将获得最顶层窗口上鼠标的位置。 方法2 在鼠标事件处理函数中通过MouseButtonEventArgs 类型的事件参数的GetPosition 方法获得...

2017-02-24 17:42:46

阅读数:546

评论数:1

IsMouseOver 和MouseEnter\MouseLeave 事件

在界面程序中IsMouseOver 属性用来判断鼠标是否在某个界面元素上悬停。 如果当一个界面元素在逻辑树中被另外一个元素包含,当鼠标同时停在两个元素上的时候,两个元素的IsMouseOver 都是true,无论下面的元素是否被遮住。 当IsMouseOver 属性从false变为true的时候会...

2017-02-22 16:16:19

阅读数:1685

评论数:0

修改鼠标双击判断时间间隔

在WPF鼠标事件中,我们可以通过事件参数的  ClickCount 属性来判断鼠标连续点击的次数。那么鼠标在多久的时间间隔内点击才被算作是连续点击呢?这个是可以在系统里设置的。 在Window7系统里,在控制面板中找到鼠标,选择“双击速度”那一项。 在Window8系统里也是一样需要找...

2017-02-20 17:50:15

阅读数:1926

评论数:0

#655 – 冒泡事件可能会被某些控件屏蔽(Bubbling Mouse Events Swallowed by Some Controls)

当你在一个Label 控件点击鼠标左键的时候,你可以看到一些列的隧道和冒泡事件被触发,如下图: 然而,如果你在TextBox 控件上点击鼠标左键,你可以仅仅只能触发隧道事件。其他的冒泡事件将不会在TextBox 控件上被触发。 通常情况下,当用户在控件上按下鼠标键控件需要做某些事情的时...

2017-02-16 16:43:20

阅读数:178

评论数:0

StringBuilder 的容量(StringBuilder Capacity)

在使用StringBuilder 实例的时候,你不需要关心它为其存储的字符串分配了多大的内存,它会自动为字符串创建足够的内存。 其Capacity 属性表明了一个StringBuilder 实例最多可以存储多少个字符,当存储的字符所需的空间大于这个数的时候,StringBuilder 会自动增大内...

2017-02-09 18:05:57

阅读数:3994

评论数:0

获得任何按键状态的方法

之前提到了在按键事件处理函数中获得触发事件的按键的状态的方法。那么如果获得其它按键状态呢? 有一下几张方法:  1. 在按键事件处理函数中通过事件但是获得键盘设备实例,然后通过IsKeyDown, IsKeyToggled, IsKeyUp 函数获得按键状态。 e.KeyboardDev...

2017-02-09 11:40:10

阅读数:532

评论数:0

#649 – KeyStates 属性包含了 IsDown 和IsToggled的内容(KeyStates Property Combines IsDown and IsToggled)

在按键按下事件处理函数中,你可以确定触发该事件的按钮的状态。事件参数的IsDown 和IsToggled属性可以告诉我们按钮现在是否按下和是否打开切换开关。 你也可以通过事件参数的KeyStates 属性获得这些信息。这个属性的值是一个枚举的组合(用不同的位表示不同的状态)。 private vo...

2017-02-08 10:54:48

阅读数:334

评论数:0

#646 – 在按键按下事件处理程序中判断按键开关状态(Detecting a Key’s Toggle State in a Keypress Handler)

在键盘上,有些键是可以切换状态的开关键,一些常用的开关键为:Caps Lock(大小写开关键), Scroll Lock(滚动锁定键) 和Num Lock(数字键盘开关键)。注意,通常情况下Shift键不被认为是开关键。 当按键被按下,我们可以通过按键按下事件处理函数的参数中的KeyEventA...

2017-02-06 16:06:57

阅读数:596

评论数:0

#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

阅读数:266

评论数:0

C#中使用@替代使用转意字符

在字符串中,如果出现一些特殊的字符,需要使用转意字符表示,这样很麻烦。其实可以在字符串前面增加"@"来替代使用转意字符。 比如表示路径: string file = "C:\\MyDir\\Another Dir\\thefile.txt"; 可以使...

2017-02-05 17:09:19

阅读数:410

评论数:0

Focusable 属性和IsTabStop 属性之间的关系

控件的Focusable 属性确定控件是否允许接收键盘输入焦点,控件的 IsTabStop 属性确定是否允许通过Tab键导航到控件。在默认情况下,Focusable 属性位true的控件IsTabStop 属性也会为true。 当Focusable 属性为true,IsTabStop 属性为tr...

2017-02-05 15:59:25

阅读数:1031

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭