Welcome 微信登录

首页 / 软件开发 / C#

C#线程系列讲座(1):BeginInvoke和EndInvoke方法

C#线程系列讲座(1):BeginInvoke和EndInvoke方法

C#线程系列讲座(1):BeginInvoke和EndInvoke方法2011-05-08 博客园 哈佛校训开发语言:C#3.0IDE:Visual Studio 2008本系列教程主要包括如下内容:1. BeginInvoke和EndInvoke方法2. Thread类3.线程池4.线程同步基础5.死锁6.线程同步的7种方法7.如何在线程中访问GUI组件一、线程概述在操作系统中一个进程至少要包含一个线程,然后,在某些时候需要在同一个进程中同时执行多项任务...
C#线程系列讲座(2):Thread类的应用

C#线程系列讲座(2):Thread类的应用

C#线程系列讲座(2):Thread类的应用2011-05-08一、Thread类的基本用法通过System.Threading.Thread类可以开始新 的线程,并在线程堆栈中运行静态或实例方法。可以通过Thread类的的构造方法 传递一个无参数,并且不返回值(返回void)的委托(ThreadStart),这个委托的 定义如下:[ComVisibleAttribute(true)]public delegate void ThreadStart()我们...
C#线程系列讲座(3):线程池和文件下载服务器

C#线程系列讲座(3):线程池和文件下载服务器

C#线程系列讲座(3):线程池和文件下载服务器2011-05-08如果设计一个服务器程序,每当处理用户请求时,都开始一个线程,将会在一 定程序上消耗服务器的资源。为此,一个最好的解决方法就是在服务器启动之前 ,事先创建一些线程对象,然后,当处理客户端请求时,就从这些建好的线程中 获得线程对象,并处理请求。保存这些线程对象的结构就叫做线程池。在C#中可以通过System.Threading.ThreadPool类来实现,在默认情况下, ThreadPool最...
C#线程系列讲座(5):同步技术之Monitor

C#线程系列讲座(5):同步技术之Monitor

C#线程系列讲座(5):同步技术之Monitor2011-05-08在上一讲介绍了使用lock来实现线程之间的同步。实际上,这个lock是C#的一 个障眼法,在C#编译器编译lock语句时,将其编译成了调用Monitor类。先看看下 面的C#源代码:public static void MyLock(){lock (typeof(Program)){}}上面的 代码通过lock语句使MyLock同步,这个方法被编译成IL后,代码如图1所示。图1从上图被标注...
C#下实现空白窗体上中文输入,可以实现类PS的文字工具

C#下实现空白窗体上中文输入,可以实现类PS的文字工具

C#下实现空白窗体上中文输入,可以实现类PS的文字工具2011-05-16 博客园 &小兽屋在空白窗体上打开输入法,在C#里的空白窗口是无论如何也是打不开输入法.设 置了this.ImeMode= ImeMode.NoControl也是无法打开输入法的录字窗口.去 Microsoft 开发论坛上问了一些问题.感谢周雪峰版主与Riquel_Dong 版主给的 指点.用了API函数: ImmAssociateContext(IntPtr hWnd, IntPt...
C#进行Visio二次开发之组合形状操作

C#进行Visio二次开发之组合形状操作

C#进行Visio二次开发之组合形状操作2011-05-16 www.iqidi.com 伍华聪由于一朋友需要Visio实现仿真模拟Demo,因此我在原来Visio项目代码基础上进行改进调整,完成了其需要的功能。现将对原有Visio二次开发项目的创新思路及成果总结一下,以飨读者,也做为一个标志,供日后参考,或者于各位同行,一起研究切磋。先贴图展示整个项目的该款,表明此文章所托并非空穴来风、纸上谈兵!本人基于项目的Visio的二次开发文章写了很多,其中涉及到...
C#进行Visio二次开发之动态仿真实现

C#进行Visio二次开发之动态仿真实现

C#进行Visio二次开发之动态仿真实现2011-05-16 www.iqidi.com 伍华聪Visio二次开发可以实现的项目情景很多,如电气线路分析、配电网络分析、流程图等,现因为项目需要,又认识多了一个应用场合,液压传动的仿真。项目效果图如下所示:查看原图(大图) 动态仿真,其实也就是模拟实际线路的走向,实现动画的展现。以前我的Visio的项目,基本上都是基于静态的图形展现,并没有设置太多的动态展现。原来配电网络的通电线路的分析,严格来说也是静态的,...
C#进行Visio二次开发之自定义右键菜单

C#进行Visio二次开发之自定义右键菜单

C#进行Visio二次开发之自定义右键菜单2011-05-16 www.iqidi.com 伍华聪Visio Drawing Control中集成自定义菜单是很多项目必须的,很多朋友也问 过我如何实现这些菜单,下面介绍下Visio自定义菜单的实现。Visio二次 开发中,为Visio Drawing Control添加自定义菜单有两种方式:一种是使用捕捉 Visio的MouseUpEvent事件,弹出ContextMenu即可;另一种是通过在PageShe...
C#进行Visio二次开发之图纸缩放操作的实现

C#进行Visio二次开发之图纸缩放操作的实现

C#进行Visio二次开发之图纸缩放操作的实现2011-05-16 www.iqidi.com 伍华聪我们知道,Visio菜单【视图】中有一个缩放的菜单项目,如下所示,选择响应的选项会对图纸进行缩放。另外,它的工具条中也有一个下拉列表框,除了可以选择现有的那些选项外,还可以输入自定义的值,达到自定义缩放比例的功能。本文介绍如何使用C#和Visio的SDK函数,实现Visio中的图纸各种缩放操作。首先我们建立一个缩放菜单项和一个各种缩放比例的子菜单项,如第一...
C#进行Visio二次开发之界面设计及架构设计

C#进行Visio二次开发之界面设计及架构设计

C#进行Visio二次开发之界面设计及架构设计2011-05-16 www.iqidi.com 伍华聪写C#进行Visio二次开发的系列文章有很多篇了,都是写一些经验总结和技术知识的分享,本文继续来探讨这方面开发的一些心得,主要介绍下WinForm界面的设计和Visio软件的架构设计。先看看我花了N个月的业余时间完成的软件概貌,然后大家一起讨论下相关的技术知识。软件界面主要有菜单区、工具条区、图纸内容区、右边的管理区、状态条区等等,主要注意的是采用了Too...
C#进行Visio二次开发之Web端启动绘图客户端并登录

C#进行Visio二次开发之Web端启动绘图客户端并登录

C#进行Visio二次开发之Web端启动绘图客户端并登录2011-05-16 www.iqidi.com 伍华聪有这样的需求,一个系统,包含Web端的后台和Winform的绘图客户端程序,用户需要在Web端能够启动绘图客户端,并且不需要重新登录(因为已经登录了Web端了)。那么在IE的Web端,如何启动Winform做的绘图客户端程序呢?当然对于其他桌面应用程序也是一样的。总体思路是:1. 在asp.net页面中增加一个按钮或者菜单,连接是调用一个Java...
C#进行Visio二次开发之Web查看Visio图纸

C#进行Visio二次开发之Web查看Visio图纸

C#进行Visio二次开发之Web查看Visio图纸2011-05-16 www.iqidi.com 伍华聪前面介绍的Visio开发知识,都是基于Winform的Visio的开发知识,图纸的展示都是基于Winform方式展示的。但很多时候,如果能够通过Web方式可以查看最新的图纸信息,那么系统将更加趋向完美,你说是不是呢?通过Web方式查看Visio图纸实现起来也是很容易的,首先需要在IE客户端安装一个Visio Viewer的ActiveX控件支持(微软...
C#进行Visio二次开发之电气线路停电分析逻辑

C#进行Visio二次开发之电气线路停电分析逻辑

C#进行Visio二次开发之电气线路停电分析逻辑2011-05-16 www.iqidi.com 伍华聪停电分析,顾名思义,是对图纸进行停电的逻辑分析。在电气化线路中,一条线路是从一个电源出来,连接着很多很多的设备的,进行停电分析,有两个重要的作用:一是看图纸上的Shape元件是否连接正常,二是看哪些设备有电无电。通过给有电的设备一种颜色(如绿色),无电的设备一种颜色(如红色),那么就可以很明显地看到通电的不同变化。对一张Visio绘制的电气线路图,我们如...
C# 操作 XML 数据库类型、Oracle XMLType

C# 操作 XML 数据库类型、Oracle XMLType

C# 操作 XML 数据库类型、Oracle XMLType2011-05-23xml 类型很久就有了一直没有关注,有时间正好看看;这次学习要做的事情1、设计一个C# 类来生成 XML Schema (XML 架构)先设计类,然后由类生成表可能是有很多人蒙昧以求的;正好和 ORM 相反最主要的 XML 架构可以用来约束数据库中的;XML 的有效性2、基于上一步的XML Schema我们创建一个数据表、并包含这个和上边 C# 类对应的的 XML 类型;3、插...
C#实现自定义消息处理

C#实现自定义消息处理

C#实现自定义消息处理2011-05-23众所周知,委托和事件机制是C#应用程序的一个很重要的方面。Microsoft 的 BCL 类库对Windows的控件进行了几乎全面的封装,使应用程序 开发人员甚至不用了解消息循环就能写出相样的程序。然而,甚至Windows UI编程到了 WPF 时代,消息机制仍然占据着举足轻重的 作用。可以这么说,没有消息循环就没有Windows。(当然WPF很大程度上是对D3D 的封装,它本身并不是基于Win32的消息循环, 但...
C#实现屏幕键盘(ScreenKeyboard)

C#实现屏幕键盘(ScreenKeyboard)

C#实现屏幕键盘(ScreenKeyboard)2011-05-23 博客园 优哉@游哉要实现一个屏幕键盘,需要监听所有键盘事件,无论窗体是否被激活。因此需 要一个全局的钩子,也就是系统范围的钩子。什么是钩子(Hook)钩子(Hook)是Windows提供的一种消息处理机制平台,是指在程序正常 运行中接受信息之前预先启动的函数,用来检查和修改传给该程序的信息,(钩 子)实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定 的消息发出,在没有到...
<< 71 72 73 74 75 76 77 78 79 80 >>