winform实现不规则窗体及控件>

根据背景图片实现不规则的winform控件,实际是找到图片的不透明区域,最后把控件的Region区域重置。
使没有图片,也可以根据自己的需要创建graphicsPath,最终绘制自己需要的图形来实现不规则的winform控件


GraphicsPath graphicsPath = CalculateCon ... ...

阅读更多 >>

遍历字符串包含4字节汉字的解决方法>

string juzi = "看𤡆看";
MessageBox.Show(juzi.Lenght.ToString());


代码执行后弹出的结果不是3,而是4,即变量juzi的长度为4,因为汉字“𤡆”占用了4个字节。
如果要遍历juzi内的汉字,当取到“𤡆”时,会把它当成两个汉字,这样就会出现乱码的情况。

用 ... ...

阅读更多 >>

UTF-8带签名和不带签名的区别>


UTF8是国际编码,现在使用的也越来越广泛了。
在使用UTF8编码保存文件时,经常会见到UTF8带签名和不带签名两个选项,让人费解。

带签名UTF8的起源:
微软在自己的UTF-8格式的文本文件之前加上了EF BB BF三个隐藏字节,windows上面的记事本等程序就是根据 ... ...

阅读更多 >>

NPOI导入导出excel文件>

项目中对excel的操作都比较头疼,没有复杂的要求时,把数据写入文本文件,数据以制表符分隔,保存时把文件后缀名写成xls,这样简单的excel文件就出来了,实际上还是文本数据,并不是真正的excel文件。NPOI 是 POI 项目的 .NET 版本。POI是一个开源的 ... ...

阅读更多 >>

MediaPlayer获取Mp3总时长>

使用MediaPlayer播放MP3时,可以获取到音频的总长度。在不播放的情况下好像无法获取,不科学啊。代码最后一行实现在使用MediaPlayer不播放MP3时获取音频文件的总时长。

WMPLib.WindowsMediaPlayerClass Player = new WMPLib.WindowsMediaPlayerClass ... ...

阅读更多 >>

asp.net服务器控件点击后设置不可用>


    页面中有个asp.net服务器控件的功能按钮,点击后执行的时间较长。为了避免重复点击,点击后设置button不可用,也能让用户看着更直观。本来想着点击后直接设置button的enable=false即可,动手试了下,改完后无法提交到后台。应该是提交到后他时服 ... ...

阅读更多 >>

Winform控件listview设置滚动条位置>

设置listview选中项,滚动条并不会自动定位,通过listview的TopItem属性可以很好的实现滚动条的定位。
listview1.Items[100].Selected = true;
listview1.TopItem = this.listview.Items[100];

... ...

阅读更多 >>

C#制作COM组件流程>

    一步步的终于用C#完成了一个COM组件的制作,通过网上的资料测试也成功,不过最后这个方案也没使用。一直使用.net,感觉COM组件好神秘,身边了解COM组件的人基本没有。之前也看过一些资料,不过看的是云里雾里。把.net平台中C#制作COM组件的几个 ... ...

阅读更多 >>

access高效率分页>

好不容易把博客导航的基本功能做完了,但是放到虚拟主机上访问时经常报错,页面打开缓慢,查了下报错是因为内存等资源不足。在本地测了下,列表页打开也很慢,表中有1W左右的数据,程序没问题,最终定位到了分页查询的方法相当慢。
以下是当时 ... ...

阅读更多 >>

文件字符编码转换>

实现思路是按源文件的编码格式读取,并保存成目标编码格式的临时文件,然后移动临时文件并覆盖源文件来实现文件字符编码格式的转换。
/// <summary>
/// 文件字符编码转换
/// </summary>
/// <param name="filename">需要更改字符编码的文件路径</para ... ...

阅读更多 >>