自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dances with Wolves 的专栏

Never underestimate your power to change yourself!

  • 博客(19)
  • 资源 (19)
  • 收藏
  • 关注

转载 图形界面编程(六) 分组容器和卡片容器(2)

点击打开链接2 卡片式容器卡片容器(TabControl)是这样一种容器:它本身包含多个容器(类似于Panel类型的面板容器),但同时只能显示其中的一个,并隐藏其余的容器。卡片容器的用途很广泛,目前流行的浏览器都使用卡片式方式在一个浏览器内可以同时打开多个页面,例如:图1 卡片式浏览的Firefox浏览器卡片式容器解决了一个这样的问题:当我们需要在同一个窗体

2016-10-25 15:32:39 1294

转载 图形界面编程(六) 分组容器和卡片容器(1)

点击打开链接——本节介绍了如何使用分组容器(GroupBox)以及一个分组RadioButton的实例1 分组容器GroupBox容器使用起来就和一个基本的Panel容器一样,它不具备布局管理功能,仅仅是一个可以容纳其它控件的容器。GroupBox的主要特点就是:该容器具有一个外观优雅的边框,并且可以具备标题文本。所以该容器的主要作用就是:将符合某一类功

2016-10-25 15:31:49 2126

转载 图形界面编程(五) 布局容器类(4)

点击打开链接6 分隔容器类分隔容器(SplitContainer)由分隔线和两个面板容器组成,可以通过分隔线将容器所在区域分为两个部分(左右或上下),每个部分里面有一个面板容器(Panel容器类),可以放置其它控件。通过鼠标拖动分隔线,可以改变容器两个区域的尺寸。分隔线可以通过SplitterWidth 属性控制,例如:[c-sharp] vie

2016-10-25 15:31:07 1606

转载 图形界面编程(五) 布局容器类(3)

点击打开链接5 表格布局无论使用锚定布局还是流式布局,都无法达到复杂布局的效果,很多时候我们不得不使用绝对布局,忍受绝对布局带来的麻烦(要么容器尺寸一变化,界面就变得一团糟;要么在容器的Resize事件中写复杂的布局代码)。其实.net Framework中还具备一种很高级的布局方式——表格布局。表格布局顾名思义,就是将容器分为n行m列的二维表,这样一个二维元组

2016-10-25 15:30:08 1456

转载 图形界面编程(五) 布局容器类(2)

点击打开链接3 布局中的空白区域在.net Framework中,每个控件和其所处的容器以及容器内控件之间,都存在一个可以调整的空白区域,这个空白区域纯粹是为了布局的美观性而存在的。容器和容器内控件之间的空白称为容器的Padding属性,容器内控件之间的空白称为控件的Margin属性。看一下示意图: 图1 Padding和Margin示意图很

2016-10-25 15:28:39 632

转载 图形界面编程(五) 布局容器类(1)

点击打开链接从ContainerControl类继承的子类作为容器窗体,可以容纳除Form类对象外的其余窗体对象。在所有容器窗体内,最基本的就是顶级容器Form类以及面板容器Panel类。这两者的主要区别为:前者具有Windows标准框架(标题栏,最大化、最小化和关闭按钮,窗体边框,可调整尺寸),并且可以独立存在;后者只是一块区域,并且必须依附在某个容器窗体上,无法独立存在

2016-10-25 15:27:35 692

转载 图形界面编程(四) 尺寸、坐标、边界

点击打开链接这一课很简单,学习几个类即可。1 尺寸:Size类和SizeF类Size类是一个表示尺寸的值类型类,具有两个正常属性:Width和Height,表示宽度和高度;一个静态属性:Empty,表示0尺寸常量(Width属性和Height属性均为0)。SizeF类和Size类似,区别主要是Size类型对象的属性为整数值,SizeF类型对象的属性为单精

2016-10-25 15:26:28 1536

转载 图形界面编程(三) 子窗体

点击打开链接我们首先来看一下窗体类的继承关系:图1 窗体类继承关系图其实微软从一开始开发Windows的时候,就采用了面向对象的方式(在C语言上模拟的面向对象),所以到后来的C++,VB,Delphi,都可以比较容易的使用一门面向对象语言来对Windows窗体这部分代码进行封装。.net也是如此,它在内部依然调用了Win32 SDK中的API函数来生

2016-10-25 15:24:46 627

转载 线程基础(2)

点击打开链接2、优雅的退出线程上一节我们讲了如何建立和启动线程,那么线程应该如何退出呢?按照要求,无论使用何种编程语言,线程都必须自然退出,而不应该被迫退出。所谓自然退出,就是线程的入口方法执行完毕退出(包括使用异常跳出方法、使用return跳出方法或令方法运行完毕),线程入口方法执行完毕,标志着线程退出,此时.net Framework会继续执行一段代码,回收

2016-10-25 15:21:40 396

转载 线程基础(1)

点击打开链接Windows系列操作系统是建立在保护模式之上的32位/64位多任务操作系统,其特点是:时分抢先式多任务操作系统。我们来详细探讨一下其中的定义。在操作系统中,进程和线程是和我们运行程序紧密相关的两个概念,其中:进程是资源分配单元,用于执行一段程序前为其分配足够的资源;线程是程序执行单元,线程用于执行程序。简单的叙述一下Windows操作系统是

2016-10-25 15:20:40 450

转载 基本线程同步

点击打开链接 所谓同步,就是给多个线程规定一个执行的顺序(或称为时序),要求某个线程先执行完一段代码后,另一个线程才能开始执行。  第一种情况:多个线程访问同一个变量:  1. 一个线程写,其它线程读:这种情况不存在同步问题,因为只有一个线程在改变内存中的变量,内存中的变量在任意时刻都有一个确定的值;  2. 一个线程读,其它线程写:这种情况会存在同步问题,主要

2016-10-25 15:19:54 398

转载 集合框架 IList,IList——向量(2)

点击打开链接五、增加泛型前面我们通过一个ArrayList类实现了IList接口,通过代码可以知道,ArrayList采用一个object[]类型的数组字段来存储对象引用。这种方式存在两个问题:Object是引用类型,所以一旦我们向ArrayList集合中存储任何值类型对象,则会发生一次“装箱”操作,.net会将值类型对象转化为引用类型对象;其后每次访问集合中的

2016-10-25 15:12:28 427

转载 集合框架 IList,IList——向量(1)

点击打开链接向量是一个可以动态改变长度的数组,起作用就是无需确定集合的初始长度,集合会随着存放数据的数量自行变化。.net Framwork中提供了两种向量的规范:集合元素类型为Object类型的IList接口,可以存放不同类型的对象引用;以泛型为基础的IList接口,只能存放一种类型的对象引用。下图展示了IList接口及IList接口的继承层次图1 I

2016-10-25 15:11:19 710

转载 窗体和消息处理

点击打开链接0 概述  Windows的界面顾名思义,由“窗体”来组成,窗体的概念:屏幕上特定的一块区域,具有绘图区域和剪裁边界,并具备响应用户输入设备操作能力。绘图区域:每一个窗体都定义了一块区域,在这块区域里,可以进行绘图,绘制的图形将显示在窗体中。随着窗体位置的移动,绘图区域也在不断移动;剪裁边界:绘图区域的四周,由剪裁边界包围,剪裁边界保证了绘图区域确定的大

2016-10-25 15:09:26 1025

转载 委托

点击打开链接 Delegate,委托(或代理)是这样一种数据类型:它的变量可以引用到某一个符合要求的方法上,通过委托可以间接地调用该方法。  C#的委托类似于C语言的函数指针,区别在于C#的委托是面向对象的。  我们可以这样认为:在纯粹的面向对象语言C#中,方法也是一种特殊对象,对象的行为就是方法的行为,对象的属性是方法的返回值和参数列表。既然可以将方法认定为对象,那该

2016-10-25 15:07:11 359

转载 接口

点击打开链接学习过C++的童鞋都应该知道,在C++中允许将一个类的成员函数定义为virtual(虚拟函数),定义为虚拟的函数,例如:[cpp] view plain copy class CTest  {  public:      virtual void TestA();      virtual void T

2016-10-25 15:06:24 335

转载 值类型和引用类型

点击打开链接  和C++不同,在C#中,bool,char,int,long,double等也是类,一个数字例如24,就是int类型的一个对象,例如:[csharp] view plain copy string s = 24.ToString();    我们调用了24的ToString方法,从这种我们熟悉的语法

2016-10-25 15:05:31 408

转载 ICollection接口

点击打开链接一、集合类:1.1 ICollection接口  前面我们学习了数组,这是.net Framework定义的最基本的集合类型,除过数组外,.net Framework还另外定义了很多集合类型以满足编程的需要。常见的集合有:向量;链表;双端队列;栈;树;Hash表;Hash映射。  所有的这些集合类型,在.net F

2016-10-25 15:04:32 568

转载 Object类

点击打开链接在C#中,有一个特殊的类型Object类。这个类是C#中所有其它类的超类。  我们知道,C#只允许单继承,也即每一个类都可以有唯一的一个超类。本章我们重新定义:所有的C#类有且只有一个超类。如果一个类没有显式指定,则C#以Object类作为其超类。所以所有的类都会直接或者间接的继承Object类。  定义Object类的作用:  1、向所

2016-10-25 15:03:36 531

常见js源码

js在项目中用的越来越多,这里积累了一些常用的代码,供参考

2016-03-21

MFC socket Dialog Test

自己撰写的一个基于简单Dialog的MFC Socket类

2013-11-18

代理事件机制

Delegates-and-Events-in-CSharp.rar

2012-11-10

threadpool.rar

threadpool线程池学习

2012-11-10

visual C++开发

介绍VC开发OCX的文章

2012-11-10

Linux常用命令

Linux常用命令全集

2012-11-10

高质量C++

林锐版本的高质量C++编程指南,深入学习C++的参考用书,必须学习

2012-11-10

深入Python

[深入Python].(Dive.Into.Python).Mark.Pilgrim.文字版.Examples.zip,原本文档扫描版

2012-11-10

移动侦测的一个代码

C++开发,移动侦测的算法代码,一个老外的算法改写而来,很好用

2012-11-10

GCC 参考技术大全

GCC开发

2012-09-21

C++引用的作用和用法

详叙述c++中引用的做法.引用作为c++中无论程序设计还是参数引用,还是指针引用都是很常见和实用的

2012-09-21

C++规范编程

C++作为最广泛的开发工具,编程规范多不被人所重视,导致后续的代码出现各种各样的问题,从而不得不进行重构和修补,浪费了很多时间。本文介绍比较规范的编程模式

2012-08-15

C#描述中的单例与多例模式

单例模式有以下特点: 单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供这一实例。 一个典型的单例类的实现如下所示:其中构造子私有表示子类不能被继承。

2012-08-15

C#异步回调算法

2.工作机制: .Net使用从线程池中得到的线程来执行通过BeginInvoke()分配的方法,当异步方法执行完成时,工作线程调用回调方法而不只直接回到线程池中,要实现回调方法,我们必须在使用beginInvoke()方法的时候指定一个参数为IAsyncResult类型的方法,因为在 AsyncResult是一个.Net中已经定义好的委托,我们要使用回调方法的话,就必须符合他的要求:他的定义如下,public delegate void AsyncCallBack(IAsyncResult asyncResult);

2012-08-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除