RichTextBox滚动条问题
情境:通过鼠标或程序调整RichTextBox的高度,使高度减小,控件未按预期出现滚动条,(增大一点会出现滚动) 暂时解决方法:调用RichTextBox.Refresh()方法。强制控件使其工作区无效并立即重绘自己和任何子控件。 (继承自 Control。) ……
SoundPlayer控制 .wav 文件中的声音播放
SoundPlayer 类提供了加载和播放 .wav 文件的简单界面。SoundPlayer 类支持从文件路径、URL、包含 .wav 文件的 Stream 或包含 .wav 文件的嵌入资源中加载 .wav 文件。 要使用 SoundPlayer 类播放声音,请用 .wav 文件的路径配置 SoundPlayer 并调用某个播放方法。可以使用某个构造函数或通……
用StreamReader读取中文出现乱码的解决方案
在用StreamReader sr = new StreamReader(FileName); 的时候,再输出sr.ReadLine();的时候,发现文件中的中文部分全都变成了乱码。 ****** 究其原因,原来自从Windows 2000之后的操作系统在文件处理时默认编码采用Unicode,所以.Net 的文件默认编码也是Unicode。除非另外指定,St……
ObjectDisposedException 不要多次释放对象
原因 某个方法实现所包含的代码路径可能导致对同一对象多次调用 IDisposable.Dispose 或与 Dispose 等效的方法(例如,用于某些类型的 Close() 方法)。 规则说明 正确实现的 Dispose 方法可以调用多次,而不会引发异常。然而,这是无法保证的。为避免生成 System.ObjectDisposedExcepti……
ICSharpCode.SharpZipLib 插件使用示例
插件描述: ICSharpCode.SharpZipLib.dll 是一个完全由c#编写的Zip, GZip、Tar 、 BZip2 类库,可以方便地支持这几种格式的压缩解压缩, SharpZipLib 的许可是经过修改的GPL,底线是允许用在不开源商业软件中,意思就是免费使用。具体可访问ICSharpCode.SharpZipLib官网 ……
用两个栈实现一个队列
两年前从网上看到一道面试题:用两个栈实现一个队列。觉得不错,就经常拿来面试,几年下来,做此题的应该有几十人了。通过对面试者的表现和反应,有一些统计和感受,在此做个小结。 用C++描述,题目大致是这样的: 已知下面Stack类及其3个方法Push、Pop和 Count,请用2个Stack实现Queue类的入队(Enqueue)出队(……
原码、反码、补码和移码
原码: 如果机器字长为n,那么一个数的原码就是用一个n位的二进制数,其中最高位为符号位:正数为0,负数为1。剩下的n-1位表示概数的绝对值。 例如: X=+101011 , [X]原= 00101011 X=-101011 , [X]原= 10101011 位数不够的用0补全。 PS:正数的原、反、补码都一样:0的原码跟反码都有两个……