`
文章列表
1. const常量,如const int max = 100; 优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误(边际效 ...
双缓冲的原理可以这样形象的理解:把电脑屏幕看作一块黑板。首先我们在内存环境中建立一个“虚拟“的黑板,然后在这块黑板上绘制复杂的图形,等图形全部绘制完毕的时候,再一次性的把内存中绘制好的图形“拷贝”到另一块黑板(屏幕)上。采取这种方法可以提高绘图速度,极大的改善绘图效果。   // 在OnPaint()函数中可以如下所述实现双缓冲,其主要步骤分为四步: void CGDIPlusCtrl::OnPaint() { CPaintDC dc(this); // device context for painting CPen Pen; // 画笔 Pen.Create ...
  // 初始化 BOOL CGraphCtrDlg::OnInitDialog() { CDialog::OnInitDialog(); m_spin.SetRange(0.1,10); // 设置范围 m_spin.SetBuddy(GetDlgItem(IDC_TXTY)); // Spin控件绑定Edit控件 m_spin.SetPos(0.4); // 起始位置 return TRUE; }   // SPin控件的消息处理 void CGraphCtrD ...

C#的多线程机制探索

    博客分类:
  • C#
http://www.vchome.net/dotnet/dotnetdocs/dotnet1.htm   http://www.yaosansi.com/post/1344.html  

VS2005打开VS2008项目

    博客分类:
  • C#
1、去掉源代码目录代码的只读权限。2、修改.sln中的Microsoft Visual Studio Solution File, Format Version 10.00# Visual Studio 2008 为修改为Microsoft Visual Studio Solution File, Format Version 9.00# Visual Studio 2005 此时可以打开项目了。3、找到*.csproj文件修改 :<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns=&q ...
用GetManifestResourceStream获取的资源要保证包含在工程中,不包含在工程中即使在同一目录下也没用。包含在工程中以后把该文件的“属性”中的“生成操作”改为“嵌入的资源”。就可以用了通过GetManifestResourceNames(好像是这个名字)把所有的名字都取出来,然后看看有没有你要的。一般是Assembly名.类名.Manifest.Resource。   // 获取当前类库的程序集 Assembly assembly = Assembly.GetExecutingAssembly(); // 从程序集中读取插件的菜单和工具栏配置信息(xml文件内容) ...
char []sepc = new char[]{'+'}; string str = "Alt+A"; string[] shortCutKeys = str.Split(sepc); Keys keys = Keys.None, key = Keys.None; foreach (string shortCutKey in shortCutKeys) { key = (Keys)Enum.Parse(typeof(Keys), shortCutKey); if (keys != Keys.None) keys = ke ...
原本操作没有用xsd的xml文件时,XPath可以找到节点,但给xml文件关联上.xsd文件(Schema规范), 就出错了,根据Xpath找不到节点了!   问题出现时的Plugin.xsd文件 <?xml version="1.0" encoding="utf-8"?> <xs:schema id="Plugin" targetNamespace="http://tempuri.org/Plugin" elementFormDefault="quali ...
/// <summary> /// 调用插件的方法 /// </summary> /// <param name="pluginIndex">插件索引</param> /// <param name="functionName">方法名称</param> /// <returns></returns> public bool InvokePluginMember(int pluginIndex, string functionName) { ...
首先,利用System.Type.GetType方法,获得字符串中指定的控件的类型实例。 这里需要注意这个字符串的语法,根据msdn的解释: 1.按名称和签名隐藏会考虑签名的所有部分,包括自定义修饰符、返回类型、参数类型、标记和非托管调用约定。这是二进制比较。 2.对于反射,属性和事件按名称和签名隐藏。如果基类中有同时带 get 访问器和 set 访问器的属性,但派生类中仅有 get 访问器,则派生类属性隐藏基类属性,并且您将无法访问基类的设置程序。 3.自定义特性不是通用类型系统的组成部分。 不对数组或 COM 类型执行搜索,除非已将它们加载到可用类表中。 typeName 可以 ...
AJAX(Asynchronous JavaScript And XML 异步JavaScript和XML技术)<!--[if !supportLists]-->第一章<!--[endif]--> 揭开AJAX的面纱<!--[if !supportLists]-->1. <!--[endif]-->AJAX技术的应用范畴 (1)局部刷新(使用javascript使DOM对象搜索并更改表单中的元素) (2)获取其他网页的内容。当本网页的内容基于其他网站(天气预报),填充在网页内; (3)需要异步读取的地方(借助浏览器中提供的组件,来返回三种类 ...
<!--[if !supportLists]-->第一章<!--[endif]--> 透析XMLHttpRequest的实质<!--[if !supportLists]-->1. <!--[endif]-->xmlHttpRequest是依附于浏览器的一个组件,IE浏览器中的此组件命名为XMLHTTP,FIREFOX中的组件名称为XMLHttpRequest; XMLHTTP是一套可以在JAVAscript,VBscript,Jscript等脚本语言中,通过HTTP协议传送或者接受XML及其他数据的一套API。XMLHTTP特点(1)局部刷新(2 ...
<!--[if !supportLists]-->第一章<!--[endif]-->Microsoft ASP.NET Ajax核心组件<!--[if !supportLists]-->1. <!--[endif]-->ScriptManager脚本控制器 ScriptManager控件包括在ASP.NET 2.0 AJAX Extensions中,它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问Web Service,所有需要支持ASP.NET AJAX的ASP.NET页面上有且只能有一 ...
<!--[if !supportLists]-->第一章<!--[endif]-->Microsoft ASP.NET Ajax介绍<!--[if !supportLists]-->第二章<!--[endif]--> Ajaxcontroltoolkit工具包概述创建AJAX-Enabled模板的网站和创建AJAXControlToolkit模板的网站在配置文件方面的区别: AJAX-Enabled面向所有的AJAX程序,在默认页面加载ScriptManage控件,在配置文件中加载实现AJAX程序最基本类库; <compilation ...
<!--[if !supportLists]-->第一章<!--[endif]--> 菜单特效<!--[if !supportLists]-->1. <!--[endif]-->HoverMenu在鼠标移动到指定地点时,在不影响页面其他元素的时候出现一个菜单; <ajaxToolkit:HoverMenuExtender ID="hme1" runat="Server" TargetControlID="Panel9"//要显示菜单的目标控件的ID PopupControl ...
Global site tag (gtag.js) - Google Analytics