随笔分类 - WinFrom
摘要:重绘窗体的工作区的时候我们可以用到OnPaint来实现。而非工作区的绘制有几种思路 1.直接实现WM_NCCALCSIZE消息绘制 2.把窗体修改成None状态并拦截WM_NCCALCSIZE修改非工作区的大小实现 3.把窗体修改成None直接做一个模拟的状态 这三种方法都会有一些弱点,这些弱点也许是我没有找到对应的解决方法 。 1.在实现后需要修改 base.ControlBo...
阅读全文
摘要:在重写TabControl的时候我们最先想到的是设置 this.DrawMode = TabDrawMode.OwnerDrawFixed; 然后重写 protected override void OnDrawItem(DrawItemEventArgs e){ base.OnDrawItem(e);}这样重写后只是重写选项卡上的区域,这个区域并不包括边框,这样我们所重写的...
阅读全文
摘要:在WPF中可以很方便的实现动画的效果,而在普通的WinForm程序里实现却有点麻烦,这里我用一种模拟的方式来实现WinForm有关的动画 回忆一下在WPF中动画效果的实现,首先创建一个故事板 Storyboard,然后创建一个动画 Animation,并把要产生动画的属性与Animation绑定后添加到故事板,最后执行,得到了我们想要的效果,这里我们只考虑线性的变化效果 这里...
阅读全文
摘要:如果需要创建一个控件,要从UserControl、Control或者是Window窗体提供的其他类继承。 UserControl适合用来做组合控件。Control需要自己实现控件的外观等等,但灵活性高。Windwos控件当然就是能够对现有的控件进行适当的扩展。1)实现最基本的Label,输出一段文字 首先从Control继承一个类,这里我叫做XiLabel。我们实现下面的一段代码。在文字里面绘制出Text编译一下,在一个Form上显示出来是下面的样子:2)高度宽度跟这文字变化 在绘制前先计算文字的高度和宽度 。3)修改控件的编辑模式,在编辑器里面不能够改变控件的大小 引入System.Wind
阅读全文
摘要://十进制转二进制Console.WriteLine(Convert.ToString(69, 2));//十进制转八进制Console.WriteLine(Convert.ToString(69, 8));//十进制转十六进制Console.WriteLine(Convert.ToString(69, 16));//二进制转十进制Console.WriteLine(Convert.ToInt32(”100111101″, 2));//八进制转十进制Console.WriteLine(Convert.ToInt32(”76″, 8));//C# 16进制转换10进制Console.WriteL
阅读全文
摘要:1打印中所使用的默认单位打印中使用的单位是百分之一英寸,参考PaperSize中使用的参数2 打印的时候厘米和百分之一英寸怎么来转换可以使用PrinterUnitConvert类来进行转换,这里需要用到一个PrinterUnit的枚举来进行转换,比如把十分之一毫米转换成为百分之一英寸(int)PrinterUnitConvert.Convert(value, PrinterUnit.TenthsOfAMillimeter, PrinterUnit.Display);3 如何来打印预览首先我们定义一个PrintDocument对象,并实现PrintPage方法:在一个按钮的单击事件里面实现打印预
阅读全文
摘要:IL代码大致分为三部分:程序头,各类声明,代码段程序头:主要是包括编译后生成的可执行文件的一些属性的定义,一般三个关键字.assembly 声明本程序集名称.assembly extern 声明外部程序集名称.module 声明主模块名称各类声明:.namespace 名称空间声明.class 类声明.method 方法声明.field 字段声明.data 数据声明.custom 自定义属性声明代码段:主要由MSIL指令以及个别关键字构成,通常一个IL指令由操作码(opcode)和指令参数(操作数operrand)构成,操作码长度为1或2字节,当为2字节时,第一个字节总是0xFE 流程控制指令
阅读全文
摘要:转过来的文章,出处已经不知道了,但只这篇步骤比较清晰,就贴出来了。 一。写在最前 本文的内容只想以最通俗的语言说明钩子的使用方法,具体到钩子的详细介绍可以参照下面的网址: http://www.microsoft.com/china/community/program/originalarticles/techdoc/hook.mspx 二。了解一下钩子 从字面上理解,钩子就是想钩住些东...
阅读全文
摘要:上一篇写个截图程序之 鼠标绘制区域写了截图绘制的过程,当然截图程序没有快捷键就非常的不方便了,所以不得不去看Hook怎么写的,但是c#方面的查了很多,也下了几个源代码,基本上都是给了个代码或者是给了个过程出来,很是郁闷。以前一个做C++的朋友留了本C++的书,于是把书的第一章.winodws消息机制。最后一章 windows HOOK编程看了一遍。大概知道了是怎么回事,然后又在网上找文章看,大家可...
阅读全文
摘要: 闲的无聊就写了个截图程序。 基本思路 做一个主界面,然后在主界面上绘制一个矩形,把矩形里填上底图,看上去是截了个图出来。最后把矩形位置的图片保存到剪贴板或者是保存到路径。其实这里最主要的地方就是在界面上怎么来绘制一个矩形,然后是截图快捷...
阅读全文
摘要:在WinFrom下DataGridView显示行号,其实是对界面上的行绘制了一个数字,感觉还不错。另一种也是在这个事件下面下面 用了个for循环来做index+1的单元格赋值,效率太慢了。
阅读全文
摘要:1.System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 获取模块的完整路径。 2.System.Environment.CurrentDirectory 获取和设置当前目录(该进程从中启动的目录)的完全限定目录。 3.System.IO.Directory.GetCurrentDirectory() 获取应用程序的当...
阅读全文
摘要:///<summary>///只舍不如默认保留两位有效数字///</summary>///<paramname="obj">输入的数据</param>///<paramname="i">保留的小数位</param>///<returns></returns>publicstaticdecimalExSh...
阅读全文

浙公网安备 33010602011771号