分类

链接

2011 年 6 月
 12345
6789101112
13141516171819
20212223242526
27282930  

近期文章

热门标签

新人福利,免费薅羊毛

C#事件委托(二)

Observer设计模式简介上面的例子显然能完成我们之前描述的工作,但是却并不够好。现在假设热水器由三部分组成:热水器、警报器、显示器,它们来自于不同厂商并进行了组装。那么,应该是热水器仅仅负责烧水,它不能发出警报也不能显示水温;在水烧开时由警报器发出警报、显示器显示提示和水温。这时候,上面的例子就应该变成这个样子: // 热水器public class Heater { private int temperature; // 烧水 private void BoilWater() { for (int i = 0; i <= 100; i++) { t...

.NET 暂无评论 阅读(1,926)

C# 中的委托和事件(一)

引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。将方法作为方法的参数我们先不管这个标题如何的绕口,也不管...

.NET 暂无评论 阅读(1,751)

C#实现程序的版本升级更新

C#实现程序的版本升级更新 收藏    我们做了程序,不免会有版本升级,这就需要程序有自动版本升级的功能。 那么看看我是如何实现程序自动更新的。 直接上代码: using System;    using System.Collections.Generic;    using System.Text;    using System.Reflection;    using System.IO;    using System.Net;    using System.Xml;       namespace Update    {        /// <summary>        /// 更新完成触发的事件        /// </summary>        public delegate void UpdateState();      ...

.NET 暂无评论 阅读(2,024)

C#模拟鼠标点击

using System.Runtime.InteropServices; #region API [DllImport("user32.dll")] static extern void mouse_event(MouseEventFlag flags, int dx, int dy, uint data, UIntPtr extraInfo); [Flags] enum MouseEventFlag : uint { Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, MiddleDown = 0x0020, MiddleUp = 0x0040, XDown = 0x0080, XUp = 0x0100, Wheel = 0x0800, VirtualDesk = 0x4000, Absolute = 0x8000 } #endregion //以上代码放在Class 任意处 mouse_ev...

.NET 暂无评论 阅读(2,680)

C#连接EXCEL数据库

using System.Data.OleDb; //命名空间 private void button1_Click(object sender, EventArgs e)  {   string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=student.xls; Extended Properties=Excel 8.0;"; OleDbConnection conn = new OleDbConnection(strConn) string sql = "select * from [student$]"; //注意EXCEL数据库表形式 OleDbCommand cmd = new OleDbCommand(sql, conn); Ol...

.NET, Access 暂无评论 阅读(2,227)

C#跨线程调用

跨线程调用窗体控件 用户不喜欢反应慢的程序。在执行耗时较长的操作时,使用多线程是明智之举,它可以提高程序 UI 的响应速度,使得一切运行显得更为快速。在 Windows 中进行多线程编程曾经是 C++ 开发人员的专属特权,但是现在,可以使用所有兼容 Microsoft .NET 的语言来编写。不过Windows 窗体体系结构对线程使用制定了严格的规则。如果只是编写单线程应用程序,则没必要知道这些规则,这是因为单线程的代码不可能违反这些规则。然而,一旦采用多线程,就需要理解 Windows 窗体中最重要的一条线程规则:除...

.NET 暂无评论 阅读(2,202)

c#获取系统内存等信息

//cpu频率using Microsoft.Win32;private int GetCPUFrequency() { RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"HARDWAREDESCRIPTIONSystemCentralProcessor"); object obj = rk.GetValue("~MHz"); int CPUFrequency = (int)obj; return CPUFrequency; }////////////////////////////////////磁盘空间 Managementusing System.Management;private long GetFreeDiskSpace() { ManagementObject disk = new Mana...

.NET 暂无评论 阅读(2,607)

C#的Windows编程中多语言的实现

C#的Windows编程中多语言的实现作者:AspCool 属于c/c++分类 2010/9/9简介:这是C#的Windows编程中多语言的实现的详细页面,介绍了和c/c++,C#,#的,的W,Wi,in,nd,do,ow,ws,s编,编程,程中,中多,多语,语言,言的,的实有关的知识,加入收藏请按键盘ctrl+D,谢谢大家的观看!要查看更多有关信息,请点击此处 实现多语言的方法是通过配置文件实现,通过从配置文件中读取资源,然后在显示窗口的时候,即Load()方法中,动态显示相应的选择语言。   下面是在C#的Windows编程中实现多语言的步骤:   第...

.NET 暂无评论 阅读(2,049)

C#读写XML

using System;using System.Collections.Generic;using System.Text;using System.IO;using System.Xml;namespace AutoRunMgr{ public class XML { public static void CreateNode(string xmlpath,string node,string value) { if (!File.Exists(xmlpath)) { XmlDocument xmlDoc = new XmlDocument(); XmlElement root = xmlDoc.CreateElement("setting"); XmlElement child = xmlDoc.CreateElement(node); ...

.NET 暂无评论 阅读(2,474)

C#窗体淡入淡出

//淡入publicint state =0; privatevoid f2_Load(object sender, EventArgs e) {          this.Opacity =0; } privatevoid timer1_Tick(object sender, EventArgs e) { if (state ==0) {          this.Opacity +=0.02;          if (this.Opacity ==1)          {          state =1;          timer1.Enabled =false;          } } else {          this.Opacity = Opacity -0.02;          if (this.Opacity ==0)          {                   Application.ExitThread();          } } ...

.NET 暂无评论 阅读(1,929)