GDI+画图怎么去掉原来的背景?

lxw_it 2013-03-06 01:57:54
Image m_pImageClock(m_strImageName);
HDC hDC = ::GetDC(m_hWnd);
int length = m_pImageClock.GetWidth();
int heigth = m_pImageClock.GetHeight();
Point points[] = { Point(0, 0), Point(length, 0), Point(0, heigth)};
Graphics graph(hDC);
graph.DrawImage(&m_pImageClock,points, 3);

帖上去的是透明的PNG图片。
在OnmouseMove中画图,可是每次都会画一遍,没有清除原来画过的图片,导致画同一张图的时候颜色越来越深,如果不是同一张图就会叠加在一起。
窗口最小化再还原后就好了。但是鼠标靠近的时候还是悲剧。

在控件自绘里调用Invalidate();想让其重绘,没效果。

怎么样才能在画图之前先清空原来的图片?
...全文
747 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
繁重的秋春 2014-08-25
  • 打赏
  • 举报
回复
引用 21 楼 gdstx 的回复:
在控件里Invalidate()是没有反应的, 你要刷新控件所在的父窗口区域, 这样肯定能行: void CXXX::InvalidateParent() { CRect rect; this->GetWindowRect(&rect); GetParent()->ScreenToClient(&rect); GetParent()->InvalidateRect(&rect); } 另外好像GDI+画透明PNG是有问题的, 具体你上网查一下, 有替代的源码。
高手啊
rootlife 2013-09-17
  • 打赏
  • 举报
回复
21楼的方法, 非正道, 你应该让控件自己处理自身的绘图, 如果是想控制控件的话. 前景, 背景, 自绘, 随便选择一个, 都可以正常工作. 楼主的基础知识太薄弱了.
yoyotiogo 2013-08-23
  • 打赏
  • 举报
回复
引用 22 楼 lxw_it 的回复:
21楼终结。 谢谢大家~
我靠,,这有效是没错,,遇到特殊情况闪死你~~sighshadow兄弟,,明白的人都为你感觉到亏··
higher9999 2013-07-23
  • 打赏
  • 举报
回复
21楼的方法果然有效,这个问题也困扰了我很久,谢谢!
lxw_it 2013-03-08
  • 打赏
  • 举报
回复
自定义图片。不知道会是什么的
引用 24 楼 sighshadow 的回复:
引用 20 楼 lxw_it 的回复:我大概明白了,你这样是骗人的。 要是换一张背景图,你这个效果就不行了。我是想要支持换背景的,你这种方式不合适。 引用 16 楼 sighshadow 的回复:不过我没有从按钮派生。不过道理都相似 你按钮在对话框上,按钮透明 那么对话框上的那部分就是按钮的背景。因为两个背景一样,也就是透明 或者说给别人一种透明的效果。你看上图中……
gdstx 2013-03-07
  • 打赏
  • 举报
回复
在控件里Invalidate()是没有反应的, 你要刷新控件所在的父窗口区域, 这样肯定能行: void CXXX::InvalidateParent() { CRect rect; this->GetWindowRect(&rect); GetParent()->ScreenToClient(&rect); GetParent()->InvalidateRect(&rect); } 另外好像GDI+画透明PNG是有问题的, 具体你上网查一下, 有替代的源码。
lxw_it 2013-03-07
  • 打赏
  • 举报
回复
我大概明白了,你这样是骗人的。 要是换一张背景图,你这个效果就不行了。我是想要支持换背景的,你这种方式不合适。
引用 16 楼 sighshadow 的回复:
不过我没有从按钮派生。不过道理都相似 你按钮在对话框上,按钮透明 那么对话框上的那部分就是按钮的背景。因为两个背景一样,也就是透明 或者说给别人一种透明的效果。你看上图中的 那两态图也是png 我每次都会先画那个粉红的部分,然后再画png。
lxw_it 2013-03-07
  • 打赏
  • 举报
回复
就是想实现你这种效果。 可是,如果你没派生,那是不是子控件给窗体发消息,让窗体来画?
引用 15 楼 sighshadow 的回复:
引用 14 楼 lxw_it 的回复: 其实我的思路就是,即然最小化后还原就可以。那我就模拟这种做法,调用WM_ERASEBKGND先擦除,可是竟然不起作用。 ::SendMessage(m_hWnd,WM_ERASEBKGND,0,0); 在OnMouseMove中又不会擦除背景。 另外,像360或扣扣的桌面应用,右上角的按钮效果是怎么实现的? 以上是我做的一个……
lxw_it 2013-03-07
  • 打赏
  • 举报
回复
思路我也很清楚,我本尝试用各种方法擦除背景,可是没成功。 现在想先画背景,可是我从哪里得到原来的背景?
引用 17 楼 allenhiman 的回复:
楼主没看懂我的说辞吗 你的问题我遇到过的 就得那样解决 先用背景色 或背景图案擦除clock所在的区域 再画clock。
allenhiman 2013-03-07
  • 打赏
  • 举报
回复
楼主没看懂我的说辞吗 你的问题我遇到过的 就得那样解决 先用背景色 或背景图案擦除clock所在的区域 再画clock。
sighshadow 2013-03-07
  • 打赏
  • 举报
回复
不过我没有从按钮派生。不过道理都相似 你按钮在对话框上,按钮透明 那么对话框上的那部分就是按钮的背景。因为两个背景一样,也就是透明 或者说给别人一种透明的效果。你看上图中的 那两态图也是png 我每次都会先画那个粉红的部分,然后再画png。
sighshadow 2013-03-07
  • 打赏
  • 举报
回复
引用 14 楼 lxw_it 的回复:
其实我的思路就是,即然最小化后还原就可以。那我就模拟这种做法,调用WM_ERASEBKGND先擦除,可是竟然不起作用。 ::SendMessage(m_hWnd,WM_ERASEBKGND,0,0); 在OnMouseMove中又不会擦除背景。 另外,像360或扣扣的桌面应用,右上角的按钮效果是怎么实现的?
以上是我做的一个小程序中的一部分,就是我说的那样,先刷一次背景。你可以手动在画png的时候先画一次背景 不需要调WM_ERASEBKGND
lxw_it 2013-03-07
  • 打赏
  • 举报
回复
其实我的思路就是,即然最小化后还原就可以。那我就模拟这种做法,调用WM_ERASEBKGND先擦除,可是竟然不起作用。 ::SendMessage(m_hWnd,WM_ERASEBKGND,0,0); 在OnMouseMove中又不会擦除背景。 另外,像360或扣扣的桌面应用,右上角的按钮效果是怎么实现的?
lxw_it 2013-03-07
  • 打赏
  • 举报
回复
如果按钮的背景真是对话框的前景的话我倒是理解。 只是这种情况,我如何保存对话框中该区域的图片信息?
引用 11 楼 sighshadow 的回复:
引用 5 楼 lxw_it 的回复: 没有背景。帖图前就是完全透明的一个控件,看不到的。 引用 3 楼 sighshadow 的回复:lz 你说的透明总有个相对图片吧。如果你没背景底层图片,直接在对话框上贴的。那每次换图之前 也倾城对话框原有的背景色不就行了么。如果有背景图,背景先贴背景图,再贴你的透明Png。简单的来说,就是你没图之前的状态为0 贴图1的时候,先画成0的状态== 具体需求……
lxw_it 2013-03-07
  • 打赏
  • 举报
回复
试过了,这样没效果。 主要是onMouseMove根本不会调用重绘。。。 我主动调用也没起作用。但是最小化后还原又可以...
引用 10 楼 flyingsailing_an 的回复:
引用 8 楼 lxw_it 的回复: 没有处理这个消息,控件本身也会调用这个消息清除吧。 只是在最小化的时候会清除,但是鼠标靠近时没有清除。 我在OnMouseMove中调用 ::SendMessage(m_hWnd,WM_ERASEBKGND,0,0);也没效果。。。 引用 6 楼 flyingsailing_an 的回复:在控件自绘里调用Invalidate();想让其重绘,没效果……
sighshadow 2013-03-07
  • 打赏
  • 举报
回复
引用 5 楼 lxw_it 的回复:
没有背景。帖图前就是完全透明的一个控件,看不到的。 引用 3 楼 sighshadow 的回复:lz 你说的透明总有个相对图片吧。如果你没背景底层图片,直接在对话框上贴的。那每次换图之前 也倾城对话框原有的背景色不就行了么。如果有背景图,背景先贴背景图,再贴你的透明Png。简单的来说,就是你没图之前的状态为0 贴图1的时候,先画成0的状态== 具体需求,不大请求 我……
其实还是有背景,假如说你的dialog上面的背景是一个萌妹子===然后dialog上面有一个按钮 按钮是完全透明的。那么其实相当于按钮的背景就是萌妹子..保存这个区域的位图就是按钮的背景了 以后画图先画这个萌妹子..然后就能实现绘制多长半透明png 这种情况,我做过 不知道我表述清楚木有。
  • 打赏
  • 举报
回复
引用 8 楼 lxw_it 的回复:
没有处理这个消息,控件本身也会调用这个消息清除吧。 只是在最小化的时候会清除,但是鼠标靠近时没有清除。 我在OnMouseMove中调用 ::SendMessage(m_hWnd,WM_ERASEBKGND,0,0);也没效果。。。 引用 6 楼 flyingsailing_an 的回复:在控件自绘里调用Invalidate();想让其重绘,没效果。??? 处……
我在之前的开发中也处理过类似问题,但做的不是自绘控件,可能自绘的时候有不同之处。不妨试一下,在WM_ERASEBKGND画背景,看是否有效果
lxw_it 2013-03-07
  • 打赏
  • 举报
回复
我就是在Onpaint中GDI+、Image,graphics.DrawImage
引用 7 楼 sha_jinhao 的回复:
没有背景。帖图前就是完全透明的一个控件,看不到的。 完全透明的控件可以贴图 但是你画图画在什么上面呢?
lxw_it 2013-03-07
  • 打赏
  • 举报
回复
没有处理这个消息,控件本身也会调用这个消息清除吧。 只是在最小化的时候会清除,但是鼠标靠近时没有清除。 我在OnMouseMove中调用 ::SendMessage(m_hWnd,WM_ERASEBKGND,0,0);也没效果。。。
引用 6 楼 flyingsailing_an 的回复:
在控件自绘里调用Invalidate();想让其重绘,没效果。??? 处理过WM_ERASEBKGAND消息么?
jimette 2013-03-07
  • 打赏
  • 举报
回复
没有背景。帖图前就是完全透明的一个控件,看不到的。 完全透明的控件可以贴图 但是你画图画在什么上面呢?
加载更多回复(8)
内存画板,在内存中创建一个画板并画图。 2.0到2.5版本: ◆内存画板增加了画板添加路径,路径或区域转换为剪裁区,剪裁区的基本操作,结合剪裁区的应用可以画出更多图形。 如果画弦、饼、圆弧、弧线之后,可以获取弧线的两个端点的坐标。 增加“画圆弧路径文字()”,可以画出按照圆弧排列的文字 ◆新增类“图片对象”和“ICO图标类” ◆增加子程序:_计算直线角度()、_计算直线的终点()、_计算两点间的距离()、_计算两条直线的交点()。 _计算直线的终点() 需要提供{起点,长度,角度},计算出终点,可以当做计算圆上某一点{圆心,半径,角度} 2.5到3.0版本: ◆新增类“动态矢量画板”,画出的图形可以随着鼠标滚轮滚动放大缩小 画出的形状支持半透明颜色(画笔颜色、刷子颜色、文本颜色为ARGB颜色) 增加更多的命令,可设置Y轴正方向是向上还是向下。 ◆新增类“图片窗口类”,可在“图片窗口示例.e”预览效果。 ◆新增子程序:_计算点到线段的最短距离()、_计算点到直线的垂点距离()、_计算椭圆上的一点()、置窗口透明度_()。 附送一个(源码分享)用内存画板为主体创建的表格类。 3.0到3.5版本:修复部分bug。 ◆内存画板和动态矢量画板增加了  旋转指定角度画图()、旋转角度复位()和画闭合曲线() ◆类“图片对象”增加了  取出图片数据()、旋转()、设置某颜色透明()等更多命令; ◆新增子程序:计算贝塞尔曲线控制点()、计算贝塞尔曲线控制点_X()、_计算对称点()、_计算某点绕一个坐标旋转() 只需要提供贝塞尔曲线的顶点,可计算出曲线的控制点,直接用计算结果的数组画贝塞尔曲线即可 3.5到4.0版本: ◆内存画板新增  写出W()、写文本行W()、定位写出W()等Unicode文本处理命令(感谢网友“xxdahai”提供Unicode文本处理的源码) 画图片_倾斜变换()、取文字间距()、设置文字间距()、画笔类型_2()、刷子类型_图案()等命令 ◆类“图片对象”增加了   设置某颜色透明_2()、添加图片对象()、取位图句柄() ◆新增子程序:计算图片旋转后的尺寸()、_计算三角形的重心()、_计算坐标组缩放()、_计算坐标组缩放_X() 4.0到5.0版本: ◆内存画板新增  画繁花曲线()、画玫瑰曲线()、画蝴蝶曲线() 画图片_切图效果()包含55个效果(感谢网友“琪诺兔”提供的图片转场效果的源码) ◆新增类“图片编辑类”,结合命令“内存画板.画图片_裁剪”或“图片对象.编辑图片”使用 ◆类“图片对象”增加了  编辑图片()、取图片透明区域()、设置区域内透明()等更多编辑命令 ◆新增子程序:_计算点与圆的切点()、_计算三角形外接圆的圆心半径()、_计算直线与圆的交点() 5.0到6.0版本: ◆内存画板新增  图片优化模式()、合并分层画板()、空间坐标变换() ◆新增类“分层画板”,透明画板,更加丰富的画笔画刷设置 类“图片对象”增加了  转换分层画板() 6.0到7.0版本:修复部分bug ◆分层画板增加了  取当前路径()、路径_添加路径()、路径曲线转为线段()、路径_均分路径()、路径_混合路径()等一些路径操作命令 内存画板和分层画板增加了  画图片_扭曲变形() ◆类“图片对象”增加了  创建自位图句柄();类“动态矢量画板”增加了  图形是否显示()、取图形类型()、取图形顶点坐标() 命令“取图形顶点坐标()”提示:如果取圆弧的顶点只取回3个坐标,可以用“_计算三角形外接圆的圆心半径()”命令还原 ◆新增子程序:计算XFORM_指定点旋转()、计算XFORM_指定点缩放()、计算XFORM_指定点倾斜()、取坐标数组范围()、变换坐标组() 7.0到8.0版本: ◆内存画板新增  画图片_倾斜到坐标(),命令“画图片_切图效果”从类中移出为“画图片_转场过渡效果” ◆分层画板增加了  创建_场景句柄()、置灰度图蒙版()、画图片_倾斜到坐标() 类“图片对象”新增  取图像格式()、取各帧延时()、置灰度图蒙版() ◆新增类“APNG解析类”和“多帧图片对象”,多帧图片对象可以合成GIF图片、TIF图片、APNG动画图片(PNG的位图动画格式,属于PNG格式的扩展) ◆新增子程序:_计算三维坐标旋转()、偏移坐标组()、坐标_3D到2D()、坐标_2D到3D() 8.0到9.0版本: ◆分层画板增加了  创建_图片句柄()、画出图元文件()、路径_扩展外观()、路径到区域()、判断坐标与路径的关系() 内存画板新增  画出图元文件();类“图片对象”新增  去除黑底() ◆优化动态矢量画板,如果创建时背景色为 #透明,可作为类似图层的动态画板,将动态矢量画板复制到内存画板可以调用“合并分层画板
内附1-19章的实战程序。 目录 第1章 c#语言及其开发环境 实例001 根据需要创建所需解决方案 实例002 统一窗体中控件的字体设置 实例003 设置程序代码行号 实例004 通过“格式”菜单布局窗体 实例005 为项目添加dll文件引用 实例006 为项目添加已有类 实例007 为项目添加第三方控件 实例008 为项目添加已有窗体 第2章 c#语言基础 实例009 利用for循环输出多行语句 实例010 输入并输出姓名 实例011 使用值类型和引用类型输出不同的字段 实例012 判断当前系统日期是星期几 实例013 定义局部变量输出不同的字段 实例014 定义循环内部变量并输出变量的值 实例015 定义常量计算圆的周长 实例016 使用“+”编写双重意义的表达式 实例017 使用小括号括起来的表达式 实例018 使用算术运算符开发简单计算器 实例019 使用条件运算符判断指定年份是不是闰年 实例020 使用typeof关键字获取类的内部结构 实例021 巧用位移运算符获取汉字编码值 实例022 使用异或运算符对数字进行加密 第3章 流程控制语句 实例023 利用if…else语句判断分数是否及格 实例024 利用switch语句判断时间 实例025 利用while语句判断大小 实例026 打印九九乘法表 实例027 使用break语句提前退出循环语句 实例028 使用continue语句转移至循环开始处 实例029 使用流程控制语句报销业务花销 实例030 输出当前系统时间 实例031 利用for循环实现完数计算 实例032 开发一个猜数字游戏 第4章 字符与字符串 实例033 字母与ascii码的转换 实例034 获取字符串中汉字的个数 实例035 从字符串中分离文件路径、文件名及扩展名 实例036 对字符串进行加密与解密 实例037 开发一个进制转换器 实例038 将字符串的每个字符进行颠倒输出 实例039 根据标点符号对字符串进行分行 实例040 将汉字转换为拼音 实例041 商品金额的大小写转换 实例042 根据年份判断十二生肖 实例043 将字母全部转换为大写或小写 实例044 汉字与区位码的转换 第5章 数组和集合 实例045 在数组中添加一个元素 实例046 在数组中添加一个数组 实例047 计算两个矩形矩阵的乘积 实例048 获取多维数组的行数与列数 实例049 使用快速排序法对一维数组进行排序 实例050 使用sort方法对数组进行快速排序 实例051 按指定条件在数组中检索元素 实例052 反转数组中元素的顺序 实例053 使用希尔排序法对一维数组进行排序 实例054 向班级集合中添加学生信息 实例055 不改变长度删除数组中的元素 实例056 删除数组元素后改变其长度 第6章 c#面向对象程序设计 实例057 创建类的对象 实例058 使用构造函数 实例059 通过定义方法求一个数的平方 实例060 使用重载方法实现不同类型数据的计算 实例061 使用属性存储用户编号和姓名 实例062 使用索引器 实例063 通过类继承计算梯形面积 实例064 封装类实现一个简单的计算器 实例065 通过结构计算矩形的面积 实例066 通过结构计算圆形的面积 实例067 使用面向对象思想查找字符串中的所有数字 实例068 通过类的多态性确定人类的说话行为 第7章 异常处理和程序调试 实例069 使用try…catch语句捕获异常 实例070 根据实际年龄判断虚岁,使用try…catch捕获异常 实例071 调试程序执行时出现的结果 实例072 使用异常处理语句捕获异常 实例073 捕获连接数据库异常 第8章 windows窗体 实例074 简单的登录窗体 实例075 关闭窗体提示 实例076 创建简单的mdi应用程序 实例077 实现重复高效地利用基窗体 实例078 尝试制作一个半透明渐显窗体 实例079 使窗体标题栏文字右对齐 实例080 窗口间移动按钮 实例081 窗体中滚动的字幕 实例082 使用任意组件拖动窗体 实例083 窗体换肤程序 第9章 windows应用程序常用控件 实例084 在c#中设计出色彩斑斓的按钮 实例085 自动删除textbox控件中的非法字符 实例086 在richtextbox控件中替换文本文字 实例087 利用richtextbox控件实现文字定位与标示 实例088 将数据表中的字段添加到combobox控件中 实例089 对listbox控件中的数据进行排序 实例090 listbox控件拒绝添加重复信息 实例091 限制用户名称长度及设置密码文本 实例092 带查询功能的combobox控件 实例093 利用选择控件实现权限设置 实例094 利用richtextbox控件显示图文数据 实例095 在listbox控件间交换数据 第10章 windows应用程序高级控件 实例096 使用imagelist组件制作动画图片 实例097 在combobox下拉列表中显示图片 实例098 在listview控件中实现修改功能 实例099 将数据库数据添加到listview控件 实例100 在listview控件中绘制底纹 实例101 在treeview控件节点中显示图片 实例102 使用树型列表动态显示菜单 实例103 使用treeview控件遍历磁盘目录 实例104 使用errorprovider组件验证文本框输入 实例105 使用helpprovider组件调用帮助文件 实例106 使listview控件中的选择项高亮显示 实例107 在列表视图中拖动视图项 实例108 实现带复选框的treeview控件 实例109 将xml文件节点绑定到treeview控件中 实例110 修改treeview控件的节点文本 第11章 c#面向对象高级技术 实例111 利用接口实现选择不同的语言 实例112 使用接口作为方法参数进行编程 实例113 自定义抽象类计算圆形的面积 实例114 重写抽象方法实现多态性 实例115 使用密封类密封登录用户信息 实例116 使用密封类封装个人身份证信息 实例117 使用迭代器显示公交车站点 实例118 通过迭代器实现文字的动态效果 实例119 使用分部类制作一个计算器 实例120 使用分部类显示员工信息 实例121 使用泛型存储不同类型的数据列表 实例122 使用泛型去掉数组中的重复数字 实例123 通过重写虚方法实现加法运算 实例124 使用迭代器实现倒序遍历 实例125 通过泛型查找数组中的元素 第12章 ado.net数据访问技术 实例126 连接加密的access数据库 实例127 使用odbc dsn连接sql server数据库 实例128 使用ado.net对象录入数据 实例129 利用存储过程录入数据 实例130 使用oledbdatareader读取文本文件的内容 实例131 使用sqldatareader读取用户登录信息 实例132 使用断开式连接的方式录入数据 实例133 使用断开式连接批量更新数据库中的数据 实例134 使datagridview控件中被选定单元格的所在行变色 实例135 在datagridview控件中隔行换色 实例136 连接excel文件 实例137 读取和保存用户头像 实例138 判断是否重复输入数据 实例139 删除datagridview控件中的指定行 实例140 将access数据库导入excel文件中 第13章 水晶报表与打印 实例141 设计带有背景图的水晶报表 实例142 设置水晶报表的打印日期与时间 实例143 设置水晶报表中节的背景图片 实例144 打印窗体中的数据 实例145 打印商品入库单据 实例146 使用打印控件实现分页打印 实例147 动态绑定水晶报表 实例148 在水晶报表中使用公式字段 实例149 设计分组统计报表 实例150 打印一个空学生证 实例151 自定义横向或纵向打印 实例152 自定义打印页码范围 第14章 文件及数据流技术 实例153 根据日期动态建立文件 实例154 将长文件名转换成短文件名 实例155 获取所有逻辑磁盘目录 实例156 使用递归法删除文件夹中的所有文件 实例157 按行读取文本文件中的数据 实例158 使用缓冲流复制文件 实例159 文件批量更名 实例160 复制文件时显示复制进度 实例161 对指定文件夹中的文件进行分类存储 实例162 将文本文件转换成网页文件 实例163 伪装文件夹 实例164 word目录提取工具 第15章 gdi+绘图 实例165 在图像中实现自定义标记 实例166 辉光效果的文字 实例167 渐变效果的文字 实例168 绘制多边形 实例169 简单画图程序 实例170 仿qq截图功能 实例171 模拟石英钟 实例172 绘制贝塞尔曲线 实例173 绘制图形验证码 实例174 以椭圆形显示图像 实例175 使用双缓冲技术绘图 实例176 批量添加图片水印 第16章 线程的使用 实例177 使用线程读取数据库中的数据 实例178 使用线程制作qq农场小游戏 实例179 使用线程实现大容量数据的计算 实例180 使用多线程制作端口扫描工具 实例181 使用线程扫描局域网ip地址 实例182 使用线程休眠控制图片以百叶窗效果显示 实例183 使用线程控制向窗体中拖放图片并显示 实例184 使用线程制作动画效果的状态栏 实例185 使用线程遍历文件夹 实例186 使用线程实现从左向右以拉伸的方式显示图像 第17章 网络编程技术 实例187 通过ip地址获取主机名称 实例188 创建web页面浏览器 实例189 获取网络信息及流量 实例190 远程关闭与重启计算机 实例191 设计点对点聊天程序 实例192 电子邮件的发送与接收 实例193 获取网络中所有工作组名称 实例194 列出指定工作组中的所有计算机名 实例195 监测当前网络连接状态 实例196 使用udp协议设计聊天室 第18章 注册表技术 实例197 禁止运行注册表 实例198 使应用程序开机自动运行 实例199 获取本机安装的软件清单 实例200 禁止使用windows任务管理器 实例201 清除ie地址栏中的历史网址 实例202 将磁盘驱动器隐藏 实例203 禁止使用命令提示符 实例204 禁止修改ie浏览器主页 实例205 设置ie浏览器的默认主页 实例206 设置ie浏览器的默认下载路径 第19章 c#语言新技术 实例207 使用隐式类型局部变量实现字母的大小写转换 实例208 使用扩展方法显示员工信息 实例209 使用lambda表达式查找指定字符串 实例210 检查序列中是否包含指定元素 实例211 使用linq在一个循环中遍历多个数组 实例212 过滤文章中包含指定单词的句子 实例213 使用linq生成随机序列 实例214 筛选指定类型的元素 实例215 使用linq技术对对象进行筛选操作 实例216 使用linq技术对对象进行排序操作 实例217 使用linq技术对对象进行聚合操作 实例218 使用linq技术对对象进行联接操作 第20章 windows应用程序打包部署 实例219 打包程序时设置桌面图标 实例220 打包.net framework 4.0框架
自制书签。因上传大小限制,分三卷压缩,分别是:《C#经典编程220例》.(明日科技).【带书签】.zip、《C#经典编程220例》.(明日科技).【带书签】.z01、《C#经典编程220例》.(明日科技).【带书签】.z02 第1章 c#语言及其开发环境 1 实例001 根据需要创建所需解决方案 2 实例002 统一窗体中控件的字体设置 3 实例003 设置程序代码行号 5 实例004 通过“格式”菜单布局窗体 6 实例005 为项目添加dll文件引用 7 实例006 为项目添加已有类 8 实例007 为项目添加第三方控件 9 实例008 为项目添加已有窗体 11 第2章 c#语言基础 12 实例009 利用for循环输出多行语句 13 实例010 输入并输出姓名 14 实例011 使用值类型和引用类型输出不同的字段 15 实例012 判断当前系统日期是星期几 17 实例013 定义局部变量输出不同的字段 19 实例014 定义循环内部变量并输出变量的值 20 实例015 定义常量计算圆的周长 21 实例016 使用“+”编写双重意义的表达式 22 实例017 使用小括号括起来的表达式 23 .实例018 使用算术运算符开发简单计算器 23 实例019 使用条件运算符判断指定年份是不是闰年 26 实例020 使用typeof关键字获取类的内部结构 28 实例021 巧用位移运算符获取汉字编码值 30 实例022 使用异或运算符对数字进行加密 31 第3章 流程控制语句 33 实例023 利用if…else语句判断分数是否及格 34 实例024 利用switch语句判断时间 35 实例025 利用while语句判断大小 36 实例026 打印九九乘法表 38 实例027 使用break语句提前退出循环语句 39 实例028 使用continue语句转移至循环开始处 40 实例029 使用流程控制语句报销业务花销 41 实例030 输出当前系统时间 42 实例031 利用for循环实现完数计算 44 实例032 开发一个猜数字游戏 45 第4章 字符与字符串 47 实例033 字母与ascii码的转换 48 实例034 获取字符串中汉字的个数 50 实例035 从字符串中分离文件路径、文件名及扩展名 51 实例036 对字符串进行加密与解密 53 实例037 开发一个进制转换器 56 实例038 将字符串的每个字符进行颠倒输出 60 实例039 根据标点符号对字符串进行分行 61 实例040 将汉字转换为拼音 63 实例041 商品金额的大小写转换 64 实例042 根据年份判断十二生肖 65 实例043 将字母全部转换为大写或小写 67 实例044 汉字与区位码的转换 69 第5章 数组和集合 71 实例045 在数组中添加一个元素 72 实例046 在数组中添加一个数组 73 实例047 计算两个矩形矩阵的乘积 75 实例048 获取多维数组的行数与列数 78 实例049 使用快速排序法对一维数组进行排序 79 实例050 使用sort方法对数组进行快速排序 81 实例051 按指定条件在数组中检索元素 82 实例052 反转数组中元素的顺序 84 实例053 使用希尔排序法对一维数组进行排序 85 实例054 向班级集合中添加学生信息 87 实例055 不改变长度删除数组中的元素 89 实例056 删除数组元素后改变其长度 90 第6章 c#面向对象程序设计 92 实例057 创建类的对象 93 实例058 使用构造函数 94 实例059 通过定义方法求一个数的平方 95 实例060 使用重载方法实现不同类型数据的计算 97 实例061 使用属性存储用户编号和姓名 99 实例062 使用索引器 101 实例063 通过类继承计算梯形面积 103 实例064 封装类实现一个简单的计算器 106 实例065 通过结构计算矩形的面积 107 实例066 通过结构计算圆形的面积 109 实例067 使用面向对象思想查找字符串中的所有数字 110 实例068 通过类的多态性确定人类的说话行为 112 第7章 异常处理和程序调试 114 实例069 使用try…catch语句捕获异常 115 实例070 根据实际年龄判断虚岁,使用try…catch捕获异常 116 实例071 调试程序执行时出现的结果 117 实例072 使用异常处理语句捕获异常 118 实例073 捕获连接数据库异常 120 第8章 windows窗体 122 实例074 简单的登录窗体 123 实例075 关闭窗体提示 124 实例076 创建简单的mdi应用程序 125 实例077 实现重复高效地利用基窗体 127 实例078 尝试制作一个半透明渐显窗体 128 实例079 使窗体标题栏文字右对齐 129 实例080 窗口间移动按钮 130 实例081 窗体中滚动的字幕 131 实例082 使用任意组件拖动窗体 133 实例083 窗体换肤程序 134 第9章 windows应用程序常用控件 137 实例084 在c#中设计出色彩斑斓的按钮 138 实例085 自动删除textbox控件中的非法字符 139 实例086 在richtextbox控件中替换文本文字 141 实例087 利用richtextbox控件实现文字定位与标示 142 实例088 将数据表中的字段添加到combobox控件中 143 实例089 对listbox控件中的数据进行排序 145 实例090 listbox控件拒绝添加重复信息 146 实例091 限制用户名称长度及设置密码文本 148 实例092 带查询功能的combobox控件 149 实例093 利用选择控件实现权限设置 150 实例094 利用richtextbox控件显示图文数据 153 实例095 在listbox控件间交换数据 155 第10章 windows应用程序高级控件 157 实例096 使用imagelist组件制作动画图片 158 实例097 在combobox下拉列表中显示图片 159 实例098 在listview控件中实现修改功能 161 实例099 将数据库数据添加到listview控件 162 实例100 在listview控件中绘制底纹 164 实例101 在treeview控件节点中显示图片 165 实例102 使用树型列表动态显示菜单 167 实例103 使用treeview控件遍历磁盘目录 169 实例104 使用errorprovider组件验证文本框输入 170 实例105 使用helpprovider组件调用帮助文件 172 实例106 使listview控件中的选择项高亮显示 173 实例107 在列表视图中拖动视图项 175 实例108 实现带复选框的treeview控件 177 实例109 将xml文件节点绑定到treeview控件中 178 实例110 修改treeview控件的节点文本 179 第11章 c#面向对象高级技术 181 实例111 利用接口实现选择不同的语言 182 实例112 使用接口作为方法参数进行编程 184 实例113 自定义抽象类计算圆形的面积 186 实例114 重写抽象方法实现多态性 188 实例115 使用密封类密封登录用户信息 191 实例116 使用密封类封装个人身份证信息 193 实例117 使用迭代器显示公交车站点 195 实例118 通过迭代器实现文字的动态效果 196 实例119 使用分部类制作一个计算器 199 实例120 使用分部类显示员工信息 201 实例121 使用泛型存储不同类型的数据列表 202 实例122 使用泛型去掉数组中的重复数字 204 实例123 通过重写虚方法实现加法运算 205 实例124 使用迭代器实现倒序遍历 207 实例125 通过泛型查找数组中的元素 209 第12章 ado.net数据访问技术 212 实例126 连接加密的access数据库 213 实例127 使用odbc dsn连接sql server数据库 214 实例128 使用ado.net对象录入数据 217 实例129 利用存储过程录入数据 219 实例130 使用oledbdatareader读取文本文件的内容 222 实例131 使用sqldatareader读取用户登录信息 223 实例132 使用断开式连接的方式录入数据 226 实例133 使用断开式连接批量更新数据库中的数据 227 实例134 使datagridview控件中被选定单元格的所在行变色 229 实例135 在datagridview控件中隔行换色 231 实例136 连接excel文件 232 实例137 读取和保存用户头像 233 实例138 判断是否重复输入数据 235 实例139 删除datagridview控件中的指定行 237 实例140 将access数据库导入excel文件中 238 第13章 水晶报表与打印 241 实例141 设计带有背景图的水晶报表 242 实例142 设置水晶报表的打印日期与时间 247 实例143 设置水晶报表中节的背景图片 249 实例144 打印窗体中的数据 250 实例145 打印商品入库单据 252 实例146 使用打印控件实现分页打印 255 实例147 动态绑定水晶报表 258 实例148 在水晶报表中使用公式字段 260 实例149 设计分组统计报表 261 实例150 打印一个空学生证 264 实例151 自定义横向或纵向打印 266 实例152 自定义打印页码范围 268 第14章 文件及数据流技术 271 实例153 根据日期动态建立文件 272 实例154 将长文件名转换成短文件名 273 实例155 获取所有逻辑磁盘目录 274 实例156 使用递归法删除文件夹中的所有文件 278 实例157 按行读取文本文件中的数据 279 实例158 使用缓冲流复制文件 280 实例159 文件批量更名 283 实例160 复制文件时显示复制进度 285 实例161 对指定文件夹中的文件进行分类存储 288 实例162 将文本文件转换成网页文件 290 实例163 伪装文件夹 292 实例164 word目录提取工具 296 第15章 gdi+绘图 302 实例165 在图像中实现自定义标记 303 实例166 辉光效果的文字 306 实例167 渐变效果的文字 310 实例168 绘制多边形 311 实例169 简单画图程序 313 实例170 仿qq截图功能 318 实例171 模拟石英钟 321 实例172 绘制贝塞尔曲线 323 实例173 绘制图形验证码 324 实例174 以椭圆形显示图像 326 实例175 使用双缓冲技术绘图 327 实例176 批量添加图片水印 330 第16章 线程的使用 336 实例177 使用线程读取数据库中的数据 337 实例178 使用线程制作qq农场小游戏 339 实例179 使用线程实现大容量数据的计算 342 实例180 使用多线程制作端口扫描工具 343 实例181 使用线程扫描局域网ip地址 345 实例182 使用线程休眠控制图片以百叶窗效果显示 347 实例183 使用线程控制向窗体中拖放图片并显示 349 实例184 使用线程制作动画效果的状态栏 351 实例185 使用线程遍历文件夹 352 实例186 使用线程实现从左向右以拉伸的方式显示图像 353 第17章 网络编程技术 357 实例187 通过ip地址获取主机名称 358 实例188 创建web页面浏览器 359 实例189 获取网络信息及流量 361 实例190 远程关闭与重启计算机 363 实例191 设计点对点聊天程序 366 实例192 电子邮件的发送与接收 368 实例193 获取网络中所有工作组名称 371 实例194 列出指定工作组中的所有计算机名 373 实例195 监测当前网络连接状态 375 实例196 使用udp协议设计聊天室 376 第18章 注册表技术 379 实例197 禁止运行注册表 380 实例198 使应用程序开机自动运行 381 实例199 获取本机安装的软件清单 384 实例200 禁止使用windows任务管理器 385 实例201 清除ie地址栏中的历史网址 387 实例202 将磁盘驱动器隐藏 388 实例203 禁止使用命令提示符 390 实例204 禁止修改ie浏览器主页 391 实例205 设置ie浏览器的默认主页 392 实例206 设置ie浏览器的默认下载路径 394 第19章 c#语言新技术 396 实例207 使用隐式类型局部变量实现字母的大小写转换 397 实例208 使用扩展方法显示员工信息 398 实例209 使用lambda表达式查找指定字符串 400 实例210 检查序列中是否包含指定元素 402 实例211 使用linq在一个循环中遍历多个数组 403 实例212 过滤文章中包含指定单词的句子 404 实例213 使用linq生成随机序列 406 实例214 筛选指定类型的元素 408 实例215 使用linq技术对对象进行筛选操作 409 实例216 使用linq技术对对象进行排序操作 410 实例217 使用linq技术对对象进行聚合操作 413 实例218 使用linq技术对对象进行联接操作 415 第20章 windows应用程序打包部署 417 实例219 打包程序时设置桌面图标 418 实例220 打包.net framework 4.0框架 420

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧