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

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


GraphicsPath graphicsPath = CalculateCon ... ...

阅读更多 >>

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

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


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

用 ... ...

阅读更多 >>

Windows Api实现winform程序动态效果>

winform实现一些动态效果比较费劲,如果是简单的显示隐藏,可以使用Windows Api 提供的接个接口,不用自己再费事调试效果了。
调用示例

//显示窗体
AnimateWindow(this.monthCalendar1.Handle, 300, AW_HIDE | AW_SLIDE | AW_CENTER);
//隐藏窗体
Animat ... ...

阅读更多 >>

C#局部鼠标钩子实现>

很早之前搜集的一个局部鼠标钩子的使用方法,这两天又用到了。winform实现一些特效还是太费劲。幸好还可以用win api。以下是局部鼠标钩子的创建、安装、使用以及卸载的方法。

public class MouseHookHelper
{
   //安装钩子
   [DllImport("user32.dl ... ...

阅读更多 >>

NPOI导入导出excel文件>

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

阅读更多 >>

MediaPlayer获取Mp3总时长>

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

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

阅读更多 >>

winform通过RichTextBox实现查找下一个上一个>

    文本显示内容比较多,想修改某个内容时太费劲,之前图省事都是复制到文本工具里,改完后再复制回来。这次又遇到了,还是在程序里加个功能来实现查找吧。

public class RichTextBoxTool
{
  /// <summary>
  /// 自己定义查找方法.参数content是要 ... ...

阅读更多 >>

C#遍历表access中的所有表>

   今天领到了个任务,把access中的数据导入到SqlServer。本来想着直接在access中通过数据源导出到SqlServer就可以了,也没啥麻烦的,打开access数据库就愣了愣,10多个库,估计至少1000张表,这样要搞到猴年马月啊。然后就想到了应该可以通过程序来 ... ...

阅读更多 >>

access高效率分页>

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

阅读更多 >>

文件字符编码转换>

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

阅读更多 >>