摘要:
golang 的 ThreadLocal 库。提供易用、无竞争、高性能的goroutine上下文访问接口,它可以帮助你更优雅地访问协程上下文信息。 阅读全文
摘要:
状态机 有限状态机(Finite State Machine 或 Finite State Automata)是软件领域中一种重要的工具。 状态机允许一个对象在其内部状态改变时改变它的行为。对象内部状态决定行为方式,对象状态改变行为方式改变,这里强调内部状态。 Command 模式是将命令请求封装成 阅读全文
摘要:
现在 java 支持 linq 啦.比原生 stream api 更好用,功能更强大.现已发布 version 1.0.1 地址: https://github.com/timandy/linq. API of IEnumerable where select selectMany take tak 阅读全文
摘要:
好几年不写博客了,人也慢慢变懒了。然而想写了却不知道写点啥,正好最近手头有点小项目就分享一下经历。 现在 java 的大环境下,基本都是围着 spring 转,加上一堆其他的库。有了架子就开始搞业务了,大家都忙的焦头烂额。写业务的时候经常碰到操作集合的情况,基本上就是 apache、stream-a 阅读全文
摘要:
由于ImageList的先天障碍,对alpha通道支持不好。虽然到xp有所改善,但瑕疵依然存在。通过reflactor发现ImageList通过windows api来进行读写的。写入数据时会对原始图像进行处理,等到读取时已经获取不到原始图像。鉴于此,只能另起炉灶重新编写一个ImageList,也就是缩略图集合类。思路:1,应该有缩略图大小属性,由于添加图像后生成缩略图,并与原始图像断绝关系。所以在有缩略图的情况下不允许修改大小。2,缩略图集合。可增加图像到集合,添加时按指定大小生成缩略图。可通过索引检索以便调用。删除或清空时要释放生成的资源。好了,以上就是主题思想。下面是代码。ImageLi 阅读全文
摘要:
应用场景:1,Winform2,ToolStripHost与输入控件组合焦点可在两者直接自由切换.3,当输入控件获取焦点后,ToolStripHost不能自动关闭.所以只能将AutoClose设置为false.实现目标:组合控件失去焦点或单击其他区域时,隐藏ToolStripHost实现:1,失去焦点可在LostFoucus事件处理或重写WndProc方法处理WM_KILLFOCUS消息.2,单击其他区域时有两种方法处理(1)通过全局鼠标钩子http://globalmousekeyhook.codeplex.com/获取单击时的坐标并判断坐标是否落在组合控件上. if ... 阅读全文
摘要:
dockpanel suit version 2.5rc1修改dockcontenthandaler.cs的Close方法 1 public void Close() 2 { 3 DockPanel dockPanel = DockPanel; 4 Form activedForm = null; 5 6 if (dockPanel != null) 7 { 8 dockPanel.SuspendLayout(true); 9 if (dockPanel.ParentForm.ActiveMdiChild != null)10 {11 activedForm = dockPanel.Paren 阅读全文
摘要:
声明:版权归原作者所有,本人稍微修改 public class WindowBehaviorHelper { private const int WM_NCHITTEST = 0x0084; //测试消息 private const int WM_GETMINMAXINFO = 0x0024;//大小变化 private Window WindowTarget; //目标窗口 private int WidthCorner = 4; //拐角宽度 private int ThicknessTransparentBorder = 5; //透明宽度 private int ThicknessBo 阅读全文
摘要:
RemarksWhen the AlphaFormat member is AC_SRC_ALPHA, the source bitmap must be 32 bpp. If it is not, the AlphaBlend function will fail.When the BlendOp member is AC_SRC_OVER, the source bitmap is placed over the destination bitmap based on the alpha values of the source pixels.1.If the source bitmap 阅读全文
摘要:
1.注册com组件 开始->运行->输入 regsvr32 [dll路径] 注:卸载com组件 regsvr32 [dll路径] /u2.添加com引用 在项目上右键->添加引用->com选项卡->根据路径找到注册的com组件3.引用后就可以跟.net类库一样使用这个com组件了 阅读全文
摘要:
最近需要把项目的程序改为单例运行模式,防止用户操作失误打开多个进程.1.通过进程名数量方式控制,但修改可执行文件的名称后仍然可以打开多个进程.网络上其他api实现的方法也有此诟病. Process[] processList = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName); if (processList.Length < 2) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(fal 阅读全文