.NET1.0&1.1&2.0
ggw128
强烈的求知欲,思维活跃、敏锐,为人诚实热情
展开
-
使用强大的反射取消事件的订阅。
using System;using System.Collections;using System.Reflection;//Delegatedelegate void UpdateDelegate();//Subjectclass Subject转载 2011-08-02 23:53:31 · 479 阅读 · 0 评论 -
WinForm:简单实现RichTextBox加载背景图
为RichTextBox加载背景图,尝试过不少方法,总结后,以下方法较为完善,且简单实现。using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Text;using Syst原创 2012-01-05 22:56:05 · 4365 阅读 · 1 评论 -
C#接收Windows系统的关机(注销)事件
protected override void OnLoad(EventArgs e) { base.OnLoad(e); //在的程序中加上事件: Microsoft.Win32.SystemEvents.SessionEnding += new Microsoft.W原创 2011-12-08 22:12:55 · 1828 阅读 · 0 评论 -
举例说明Control.Invoke, Control.BeginInvoke, DelegateBeginInvoke
Control.Invoke, Control.BeginInvoke, DelegateBeginInvoke是很常用的调用委托方法。 它们各有区别,以下代码通过举例说明这三者之间的不同点: #region 公用方法 //定义委托 private delegate string InvokeDelegate(string str原创 2011-11-05 22:20:43 · 789 阅读 · 0 评论 -
Remoting异步回调,向在线用户广播消息
本文目的:向Remoting在线客户端广播消息。使用的主要技术:异步,回调,广播。 实现过程:定义远程实例:using System;using System.Collections.Generic;using System.Text;using System.Runtime.Remoting.Messaging;namespace RemoteObject原创 2011-11-06 10:26:36 · 2488 阅读 · 0 评论 -
进程间发送消息整理(简易方案)
近来因项目的需要,触及到程序进程之间的消息通讯,根据应用的简繁程序,归纳成简易方案与高级方案。本文介绍简易方案,高级方案于下一篇中整理。 以下代码包括共用结构定义,发送方,接收方三个部份的代码: 结构定义:using System;using System.Collections.Generic;using System.Text;using S原创 2011-11-03 21:23:17 · 1993 阅读 · 0 评论 -
使用如何取出windows系统用户输入的闲置时间
思路:步骤1.使用API GetLastInputInfo 取出系统最近的输入时间步骤2.使用系统启动后时间 System.Environment.TickCount 减去 系统最近的输入时间。 public partial class Form42 : Form { public Form42() { Init原创 2011-11-24 22:26:29 · 916 阅读 · 0 评论 -
进程间发送消息整理(高级方案)
接上篇:高级方案与简易方案的区别主要在于:前者可以定义需要传递的struct。公用结构:using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;namespace Common{ //发送共享消息的结构原创 2011-11-03 22:15:14 · 998 阅读 · 0 评论 -
调整用API实现窗体淡出特效与窗体弹出后不被激活
本文实例调用API函数实现,实现以下两个目的:1.显示窗体时,具有淡出效果;2.显示窗体后,窗体可以不被激活。 public partial class Form39 : Form { //取出激活窗体 [System.Runtime.InteropServices.DllImport("user32.dll")]原创 2011-11-19 20:59:30 · 752 阅读 · 0 评论 -
使用反射取出实例挂勾的事件列表
工作中,常常需要在程序的运行中,查看一个实例(如控件,或其它实体类)所挂勾的事件,以及事件方法名等等。编写以下代码,可以基本上实现这个目的。但有某些事件还是不能取出来,比如,以下代码中的TextBox的TextChanged事件。欢迎网友读过后,若能帮忙点评修正,不胜感激!实现代码: private void btnAddHandler_Click(object sender,原创 2011-11-17 22:01:49 · 1010 阅读 · 0 评论 -
API函数 GetScrollPos 获取滚动条位置的妙用
函数定义格式:[DllImport("user32.dll", EntryPoint="GetScrollPos")]public static extern int GetScrollPos ( int hwnd, int nBar);作用:可以返回原创 2011-09-05 21:04:36 · 10518 阅读 · 0 评论 -
杀进程的一些方法
使用Process.Kill()杀进程,一些由System用户启动的进程可能会报出“拒绝访问”的错误。经查,可以使用以下命令杀掉进程。 System.Diagnostics.Process[] arrPro = System.Diagnostics.Process.GetProcessesByName("winword"); //进程名称原创 2012-01-08 17:32:01 · 3051 阅读 · 2 评论