×

C#、C++

.NET技术----反射

Kalet Kalet 发表于2009-03-20 浏览167 评论0
1、什么是反射反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等,。System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码.NET技术----反射和反射相关的命名空间(我们就是通过这几个命名空间访问反射信息):System.Reflection.MemberInfoSystem.Reflection.EventInfoSystem.Reflection.FieldInfoSystem.Reflection.Met...
图像显示应用程序画面闪烁 图像显示应用程序画面闪烁

C#、C++

图像显示应用程序画面闪烁

Kalet Kalet 发表于2009-03-20 浏览205 评论0
这是一个对于开发客户端专业应用程序很实际的问题.见过很多网友问为什么我做的图像显示应用程序在拖拉滚动条,Resize事件发生后,或者某些特殊的刷新过程会出现整幅画面闪烁一次的现象,有其他窗口在其上拖动也会出发全屏刷新.看过很多网友的评论,有的说是调用窗体的SetStyle(ControlStyles.AllPaintingInWmPaint,true)方法,有的说采用双缓存技术,还有诸如Form.Invalidate(false)参数的此类说法,其实都不一定解决问题,而且也不是闪烁的本质原因.图像显示应用程序画面闪烁我们先来分析一下这三种办法到底是解决什么问题的.第一个Form.SetStyl...

C#、C++

C#绘图双缓冲技术总结

Kalet Kalet 发表于2009-03-20 浏览162 评论0
GDI+的双缓冲问题终于搞定了,真是松了一口气!一直以来的误区:.net1.1和.net2.0在处理控件双缓冲上是有区别的。C#绘图双缓冲技术总结.net1.1中,使用:this.SetStyle(ControlStyles.DoubleBuffer,true); .net2.0中,使用:this.SetStyle(ControlStyles.OptimizedDoubleBuffer,true);怪不说老是提示参数无效,一直也不知道是这个问题,呵呵要知道,图元无闪烁的实现和图元的绘制方法没有多少关系,只是绘制方法可以控制图元的刷新区域,使双缓冲性能更优!导致画面...
C#轻松打造vista透明窗口(xp系统无任何vista主题)(汤贞营作品)

C#、C++

C#轻松打造vista透明窗口(xp系统无任何vista主题)(汤贞营作品)

Kalet Kalet 发表于2009-03-20 浏览360 评论0
自vista出来之后,.vista的areo透明效果取得了消费者的好评.因此vista的areo特效成为了程序员青睐的一种特效.但要在vista系统上才能运行透明窗体.但这就说明在XP系统就不能实现areo了吗?回答是否定的.在xp早期的版本下一样可以运行areo透明特效!C#轻松打造vista透明窗口(xp系统无任何vista主题)(汤贞营作品)哈,不信你可要看清楚了!!!!!!如下图::是的.认真看它不是vista系统下的窗口.哈比vista的还先进!!源代码好长.只给出核心代码!!!usingSystem;usingSystem.Collections.Generic;usingS...
c# 使bmp图像沿着特定的角度倾斜

C#、C++

c# 使bmp图像沿着特定的角度倾斜

Kalet Kalet 发表于2009-03-20 浏览240 评论0
c#使bmp图像沿着特定的角度倾斜c# 使bmp图像沿着特定的角度倾斜可以实现这个功能吗?   回复内容【luodanyu】:up【luodanyu】:up【bbdog】:完全可以。我不知道有没有已经实现好了的方法可以调用,但至少可以一个像素一个像素的画到新的坐标处来实现。关于新坐标与旧坐标成一定角度的问题,通过三角函数可以求得。【ki1381】:GDI+有现成函数的。c#使bmp图像沿着特定的角度倾斜请参考           Transl...

C#、C++

C#画橡皮条折线问题

Kalet Kalet 发表于2009-03-20 浏览190 评论0
近做毕业设计遇到一个问题,就是C#画橡皮条折线问题,在GDI+中做xor运算会发现达不到我们所需要的效果,也可以这么说GDI+不支持xor运算,我在网上也找了一些相关资料,可是发现和自个需要的效果差远了,最后想了几天发现双缓重画可以实现自个所需要的功能,通过mousedown,mousemove 二个事件就可以实现所需求的功能,通过在mousedown中做switch事件来做记录点的事件和画线事件。原代码如下:C#画橡皮条折线问题usingSystem;usingSystem.Collections.Specialized;usingSystem.ComponentMode...

C#、C++

新一篇: C# 图片处理之:旋转图片任意角度

Kalet Kalet 发表于2009-03-20 浏览359 评论0
我在前两篇图片处理的文章里几乎都用BitmapData来做图片处理的,那么这个东东究竟是个什么玩意儿呢?新一篇:C#图片处理之:旋转图片任意角度C#好是好,但处理图片时一个像素一个像素的操作像素可不是一般的慢,尤其是数码相机拍摄的大图片。其实Delphi也一样,但好在Delphi的Bitmap类提供了ScanLines,可以一行一行的读图,效率比较高。C#应该也有类似的东东。经过一番搜索,终于发现了BitmapData类。先看个例子,这是对一张位图的每个像素按FF取补,然后输出到一个新图(代码有点啰嗦,不过应该可以说明问题了)。inth=m_Bmp.Height;intw=m_...
[WinForm] XP样式的TextBox控件

C#、C++

[WinForm] XP样式的TextBox控件

Kalet Kalet 发表于2009-03-20 浏览176 评论0
一个很简单的例子,重载TextBox,主要功能:当BorderStyle为FixedSingle时:可以设置TextBox边框颜色;可以设置当鼠标Over或Leave控件的时候,TextBox边框颜色变化,以及是否启用这种HotTrack。screen.width-500)this.style.width=screen.width-500;"border=0˃源码和例子[WinForm]XP样式的TextBox控件自由使用,转载注明出处。Ben.Hui<BenSoftCN#Gmail.Com>TextBoxXP.csusing System;using&nbs...
c#小技巧

C#、C++

c#小技巧

Kalet Kalet 发表于2009-03-20 浏览189 评论0
1.将一个Form显示在另一个Form里面添加一个Panel控件到FormA中,设置FormB的TopLevel属性为falsec#小技巧FormB.TopLevel = false;FormA.Panel1.Controls.Add(FormB);FormB.Show();2.求一串混合字符的长度(中英文相间的)string str = "hello world 时间你好!";int len = Encoding.GetEncoding("GB18030").GetBytes(str).Len...