C# 中的转意字符

C#中允许在字符串中通过转移字符插入一些特殊的字符。转意字符是以下划线(\)开头的一串字符。下面是C#中所有的转意字符:  \a  –  警告,产生蜂鸣  \b  –  回退,退格  \f  –  换页  \n  –  换行  \r  –  回车  \t  –  水平制表符  \v ...

2017-01-23 11:26:02

阅读数:409

评论数:0

使用StringBuilder 比使用String 来组合连接字符串更加有效率

通常我们使用“+”操作符来组合字符串,这样十分方便。但是这样并不是十分有效率,因为每次组合成的新字符串都需要重新开一片内存空间存储。 下面我们做一个简单的测试,将50000个整数组合成字符串: string s1 = ""; for (int i = 0; i < 500...

2017-01-23 11:01:46

阅读数:297

评论数:0

#636 – 持续按住按键会多次触发键盘事件(Keyboard Events that Fire When A Key Is Held Down)

在Windows系统中,持续按住一个按键,相当于重复按下多次这个键。而且PreviewKeyDown, KeyDown 和 PreviewTextInput 事件也会重复的触发。 你可以通过KeyEventArgs.IsRepeat 属性判断事件是第一次发生,还是持续按住按键重复发生的。 加入我们...

2017-01-23 10:07:13

阅读数:618

评论数:0

#632 – 使用PreviewTextInput事件阻止用户输入(Block Input Using PreviewTextInput)

你可以使用控件的PreviewTextInput 事件来阻止控件接收某些输入的字符。 要防止某个特定的字符输入到控件,你只要简单的设置TextCompositionEventArgs 类型参数的Handled 属性为true就可以。它将中断控件接收字符输入事件的路由。 在XAML代码中注册事件: ...

2017-01-18 15:42:50

阅读数:664

评论数:0

#630 – PreviewTextInput 和TextInput 事件(PreviewTextInput and TextInput Events)

除了PreviewKeyDown, KeyDown, PreviewKeyUp 和KeyUp这4个事件之外,UIElement 对键盘输入还会发送另外两个事件。无论是单独按下某个键还是使用组合键,只要当控件收到某个输入文本,PreviewTextInput 和TextInput 事件就会触发。如果...

2017-01-17 17:04:31

阅读数:761

评论数:0

使用检查数据(int,double,float等)溢出,并抛出异常

在默认情况下,当溢出发生的时候,系统会自动的对结果进行截断。比如 int n1 = int.MaxValue; // 2147483647 (0x7FFFFFFF) n1 = n1 + 1; // Now -2147483648 (wrapped) 加1后溢...

2017-01-16 18:15:00

阅读数:1058

评论数:0

#628 – 当使用ALT键的时候按键事件序列(Key Up/Down Sequence When Using ALT Key)

当使用ALT键和其他键组成组合功能键的时候,按键事件中KeyEventArgs 的Key 属性的值为Key.System ,而真正按下的按键的值在SystemKey 属性中(无论是ALT键还是和其组合的键)。 举个例子,如果在一个TextBox 控件上按下Alt-Q 组合键,事件发生的序列以及...

2017-01-16 17:00:17

阅读数:185

评论数:0

#625 事件的Timestamp 属性

许多键盘事件和鼠标点击事件的事件参数中都有Timestamp 属性,例如KeyEventArgs 。这个属性给出了一个鼠标或者键盘按下或起来的相对时间。 Timestamp 属性是int 类型,并不是DateTime 类型。它的值表示的是从操作系统启动到事件发生所经历的毫秒数。当随着时间的增长,...

2017-01-11 16:50:29

阅读数:597

评论数:0

#611 – 在退出事件中设置退出码(Set Application Exit Code in Exit Event Handler)

在Windows系统中,通过命令行运行可执行程序,通过判断退出码可以辨别程序是否是成功的正常退出。一般情况下,0表示程序正常退出,其他非负数表示退出时出错。 在WPF中的退出事件中,通过设置ExitEventArgs 参数的ApplicationExitCode 属性可以设置退出码。 priv...

2017-01-09 18:06:57

阅读数:237

评论数:0

#607 – 实例的事件处理函数vs. 类的事件处理函数(An Instance Handler vs. A Class Handler)

在WPF中,你定义一个事件的处理函数,通常是一个类的实例的触发的事件进行处理——比如点击某个按钮后执行该按钮注册的事件响应函数。例如下面的代码,为一个Button类的实例定义一个事件处理函数。 你也可以定义类的事件处理函数,对应所有这个类型的实例,而不是单个实例(使用RegisterClass...

2017-01-06 17:13:47

阅读数:174

评论数:0

一个自定义的WPF ComboBox模板

<Image Source="../../Icons/arrow_White.png" Width="8" Margin="8,0" Visib...

2017-01-04 10:48:12

阅读数:2566

评论数:0

#606 – 重用(另一个类中)已经存在的路由事件(Reusing an Existing Routed Event in Your Class)

当你准备定义一个路由事件的时候,你有两种方法:自己注册一个新的路由事件,或者使用一个已经存在的路由事件。 你可以通过调用一个已经存在的路由事件的AddOwner 方法使用这个事件。 public class MyButton : Button { public static reado...

2017-01-03 11:50:41

阅读数:166

评论数:0

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