当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 在.NET中实现彩色光标和自定义光标

ASP.NET
ASP.NET应用程序设计的10大技巧
asp.net开发与web标准的冲突问题
总结:ADO.NET中容易混淆的概念
ASP.NET数据库编程入门
ASP.Net网络数据库:连接到数据库
ASP.Net之C#中的异常处理
在C++中使用Lambda函数提高代码性能
从零开始学习jQuery (一) 开天辟地入门篇
.Net中的 XmlReader 与 XmlWriter 解析
ASP.NET安全问题--创建安全的Web应用程序
从零开始学习jQuery (二) 万能的选择器
ASP.NET开发必须养成的编程习惯
ASP.NET应用XML技术实现Web报表打印
ASP.NET实现静态的TreeView控件导航
数据结构与算法:C#语言描述 目录
ASP.NET创建XML Web服务全接触
使.NET命名空间符合标准
ASP.Net获得新浪天气预报几种方式总结
.Net技术开发中两个“属性”引起的歧异
.Net课堂:ASP.NET常用的优化性能方法

ASP.NET 中的 在.NET中实现彩色光标和自定义光标


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 114 ::
收藏到网摘: n/a

本例子在.NET中实现彩色光标,动画光标和自定义光标,下面是完整的例子,可以通过命令行编译即可看到效果。


Test.cs

  using System;
  using System.Drawing;
  using System.Windows.Forms;
  using System.Runtime.InteropServices;
  using System.Reflection;

  namespace ColorCursor
  {
  /// <summary>
  /// 本例子的作用:
  /// 在.NET中实现彩色光标,动画光标和自定义光标。
  /// </summary>
  public class Form1 : System.Windows.Forms.Form
  {
  [DllImport("user32.dll")]
  public static extern IntPtr LoadCursorFromFile( string fileName );
  
  [DllImport("user32.dll")]
  public static extern IntPtr SetCursor( IntPtr cursorHandle );
  
  [DllImport("user32.dll")]
  public static extern uint DestroyCursor( IntPtr cursorHandle );
  
  
  [STAThread]
  static void Main()
  {
  Application.Run(new Form1());
  }
  
  public Form1()
  {
  this.Text = "欢迎光临【孟宪会之精彩世界】:http://dotnet.aspx.cc/";
  Cursor myCursor = new Cursor(Cursor.Current.Handle);
  //dinosau2.ani为windows自带的光标:
  IntPtr colorCursorHandle = LoadCursorFromFile(@"C:\WINNT\Cursors\dinosau2.ani" );
  myCursor.GetType().InvokeMember("handle",BindingFlags.Public |
  BindingFlags.NonPublic | BindingFlags.Instance |
  BindingFlags.SetField,null,myCursor,
  new object [] { colorCursorHandle } );
  this.Cursor = myCursor;
  }
  }
  }