摘要:如题,市面上常见的方法是: 此法的问题是,如果图像是透明背景,那么得到的Icon的边缘就是毛糙的,像是先垫了一层背景色然后再去色的效果,很不如人意,用过的朋友都知道。尚未研究是bmp.GetHicon出的问题,还是Icon.FromHandle有问题,日后有闲心再捣鼓下。 下面给出完美转换方法: 如
阅读全文
随笔分类 - C#
摘要:如题,市面上常见的方法是: 此法的问题是,如果图像是透明背景,那么得到的Icon的边缘就是毛糙的,像是先垫了一层背景色然后再去色的效果,很不如人意,用过的朋友都知道。尚未研究是bmp.GetHicon出的问题,还是Icon.FromHandle有问题,日后有闲心再捣鼓下。 下面给出完美转换方法: 如
阅读全文
摘要:201610212046更新 更新至2.0版,基本完全重写,重点: 改为基于原生LayeredWindow窗体和UpdateLayeredWindow API呈现动画,完全摒弃.net Form,这种消息框用前者再适合不过,后者对于这种场景过于臃肿了 更高更快更强,更酷更炫更拉轰 可自由定制若干消息
阅读全文
摘要:注:本文适用.net2.0+的winform程序 一个winform程序,我希望它不能多开(但是如何防多开不是本文要讲的),那么在用户启动第二个实例的时候,作为第二个实例来说,大概可以有这么几种做法: 显然第3种做法更地道,实现该效果的核心问题其实是:如何显示指定进程的窗口? 首先想到的是调用Sho
阅读全文
摘要:注:本文适用.net 2.0+的winform项目 目的: 点击页面中的target="_blank"链接时,弹出新窗体 页面中有window.close()操作时,关闭窗体 上述窗体是指WebBrowser所在的Form,基本上,上述目的就是让该窗体表现得像个正常浏览器而已。 一、弹出新窗体 We
阅读全文
摘要:泛型约束更强大。比如支持有参构造函数、枚举、委托: void Foo<T>() where T : new(string, int), enum, delegate 空值判断符允许对属性/字段赋值: obj?.Name = "sdf"; //obj为null则什么也不做 索引器支持泛型: publi
阅读全文
摘要:刚上线一个新版本,其中有台电脑打开软件就报【xx的类型初始值设定项引发异常】(还好不是一大波电脑,新东西上线就怕哀鸿遍野),如图: 显然是该类型的静态构造函数中抛异常了(红线处就是类名),遂打开该类,其构造函数中唯有一句看起来可能引发异常,即: Process.EnterDebugMode(); /
阅读全文
摘要:环境:.net 2.0 DataRow的行状态一段时间不用就会吃不准,记录一下,备查。 行属于如下状态时进行右边操作→ 后的状态演变 添加到表 dt.Rows.Add() 修改单元格值 row[x] = xx 标记删除 row.Delete()【注1】 提交 dt/row.AcceptChanges
阅读全文
摘要:项目输出目录(bin/debug|release)中经常是这个样子:main.exemain.pdb a.dlla.xmlb.dllb.pdbb.xml...其中xml是同名dll的注释文档,pdb是调试库。我们最终应该只想要exe和dll,除了手工删,我知道的有两招,可以让项目生成后,xml和pd...
阅读全文
摘要:问题如图:如果先点【生成】项目,再按F5调试就不会报错,但稍后修改代码后再次调试,会发现VS启动的是代码修改前的程序,也就是说,深一层的问题其实是调试时不会先生成,而是直接打开debug/release目录中已经存在的exe,所以如果exe不存在,调试就会报上图的错误。搜到的办法主要有两种:- 重置...
阅读全文
【手记】未能从程序集System.Net.Http.Formatting中加载类型System.Net.Http.Formatting.FormUrlEncodedMediaTypeFormatter
摘要:实际报错如图:如果你跟我一样是在折腾Asp.Net WebApi 2.x时遇到这个问题,请参看如下办法:删除现有System.Net.Http.Formatting引用(如果引用了的话)重新引用【解决方案目录\packages\Microsoft.AspNet.WebApi.Client.5.2.3...
阅读全文
摘要:适用于:.net2.0+ Winform项目------------------201508261813更新(源码有更新、Demo未更新)------------------重新绘制调整大小手柄(SizeGrip,右下角那个),因为系统自绘的太靠边角,在XP下会盖过那部分边框,视觉体验不好。改进如图...
阅读全文
摘要:201806111122更新 更新至2.0。主要是增加自定义按钮文本的功能,另项目已放到https://github.com/ahdung/MsgBox,欢迎f**k 201507160917更新 无意中发现标准消息框在Windows7是有声音的,只是在Windows server 2008(R2)
阅读全文
摘要:问题如图:并且手工编辑好AssemblyInfo.cs也不行,进入程序集信息窗体时,仍然是一片空白。尝试:在项目文件中(csproj文件,任意文本编辑工具可打开)的节点下仔细找找Include项,是否有重复。比如这样的: ...有的话,剔除重复。一般在使用Reflector等工具搞到的项...
阅读全文
摘要:注:这里的服务是指Windows 服务。------------------201508250915更新------------------刚刚得知TransactedInstaller类是支持带参数安装服务的,在此感谢猿友KOFIP的指教和代码,详情请见回复。------------------2...
阅读全文
摘要:本文适用Winform开发,且DataGridView的数据源为DataTable/DataView的情况。理解前提:熟知DataTable、DataView求:更好方案考虑这样一个场景:某DataTable(下称dt)的B列是计算列(设置了Expression属性),是根据A列的数据计算而来,该d...
阅读全文
摘要:样子:支持系统:WindowsNT 5.x/6.x32及64位所有系统。需.net framework 2.0运行环境功能:清理上述系统中冗余的Windows Installer补丁文件。有如下特点:高效扫描+清理,并有进度反馈可选择清理指定文件可排序可选择删除到回收站,或直接删除说明:类似工具有几...
阅读全文
摘要:---------------201504170911更新---------------更新内容:删除bgwUI新增的Start方法,改为通过new修饰符+可选参数的方式同时覆盖基类(BackgroundWorker)的RunWorkerAsync有参和无参俩方法。所以执行任务仍旧使用熟悉的RunW...
阅读全文
摘要:-------------201504161039更新-------------更新内容:IWaitForm接口删除System.Windows.Forms.DialogResult DialogResult属性。即隐藏等待窗体的方式不再分为设置DialogResult和调用Hide()两种,改为仅...
阅读全文
摘要:之前写过一个合并字符串的CLR聚合函数,基本是照抄MS的示例,外加了一些处理,已经投入使用很长时间,没什么问题也就没怎么研究,近日想改造一下,遇到一些问题,遂捣鼓一番,有些心得,记录如下。一、杂项CLR聚合函数在SQL中虽然是函数,但在C#中实际上是以一个类或结构的形式存在的(是的,实现聚合函数的实...
阅读全文
摘要:申明:- 本文适用于WinForm开发- 文中的“控件”一词是广义上的说法,泛指包括ToolStripItem、MenuItem在内单个界面元素,并不特指继承自Control类的狭义控件用过ToolTip这个组件的童鞋都知道这样一个现象:在VS中拖入一个ToolTip,然后点击窗体中的各种控件,在其...
阅读全文
|