首页 一些很酷的.NET技巧.Net技巧

一些很酷的.NET技巧.Net技巧

举报
开通vip

一些很酷的.NET技巧.Net技巧翻译 一些很酷的.Net技巧 原作出处:http://www.codeproject.com/useritems/tips.asp?df=100 一..Net Framework 1.  如何获得系统文件夹 使用System.Envioment类的GetFolderPath方法;例如: Environment.GetFolderPath( Environment.SpecialFolder.Personal ) 2.  如何获得正在执行的exe文件的路径 1)  使用Application类的ExecutableP...

一些很酷的.NET技巧.Net技巧
翻译 一些很酷的.Net技巧 原作出处:http://www.codeproject.com/useritems/tips.asp?df=100 一..Net Framework 1.  如何获得系统文件夹 使用System.Envioment类的GetFolderPath方法;例如: Environment.GetFolderPath( Environment.SpecialFolder.Personal ) 2.  如何获得正在执行的exe文件的路径 1)  使用Application类的ExecutablePath属性 2)  System.Reflection.Assembly.GetExecutingAssembly().Location 3.  如何检测操作系统的版本 使用Envioment的OSVersion属性,例如: OperatingSystem os = Environment.OSVersion; MessageBox.Show(os.Version.ToString()); MessageBox.Show(os.Platform.ToString()); 4.  如何根据完整的文件名获得文件的文件名部分、 使用System.IO.Path类的方法GetFileName或者GetFileNameWithoutExtension方法 5.  如何通过文件的全名获得文件的扩展名 使用System.IO.Path.GetExtension静态方法 6.  Vb和c#的语法有什么不同click here 7.  如何获得当前电脑用户名,是否联网,几个显示器,所在域,鼠标有几个键等信息 使用System.Windows.Forms. SystemInformation类的静态属性 8.  修饰Main方法的[STAThread]特性有什么作用 标示当前程序使用单线程的方式运行 9.  如何读取csv文件的内容 通过OdbcConnection可以创建一个链接到csv文件的链接,链接字符串的格式是:"Driver={Microsoft Text Driver (*.txt;*.csv)};Dbq="+cvs文件的文件夹路径+" Extensions=asc,csv,tab,txt; Persist Security Info=False"; 创建连接之后就可以使用DataAdapter等存取csv文件了。 详细信息见此处 10. 如何获得磁盘开销信息,代码片断如下,主要是调用kernel32.dll中的GetDiskFreeSpaceEx外部方法。   public sealed class DriveInfo {     [DllImport("kernel32.dll", EntryPoint = "GetDiskFreeSpaceExA")]     private static extern long GetDiskFreeSpaceEx(string lpDirectoryName,         out long lpFreeBytesAvailableToCaller,         out long lpTotalNumberOfBytes,         out long lpTotalNumberOfFreeBytes);     public static long GetInfo(string drive, out long available, out long total, out long free)      {         return GetDiskFreeSpaceEx(drive, out available, out total, out free);     }     public static DriveInfoSystem GetInfo(string drive)      {         long result, available, total, free;         result = GetDiskFreeSpaceEx(drive, out available, out total, out free);         return new DriveInfoSystem(drive, result, available, total, free);     } } public struct DriveInfoSystem {     public readonly string Drive;     public readonly long Result;     public readonly long Available;     public readonly long Total;     public readonly long Free;     public DriveInfoSystem(string drive, long result, long available, long total, long free)      {         this.Drive = drive;         this.Result = result;         this.Available = available;         this.Total = total;         this.Free = free;     } }   可以通过DriveInfoSystem info = DriveInfo.GetInfo("c:");来获得指定磁盘的开销情况   11.如何获得不区分大小写的子字符串的索引位置 1)通过将两个字符串转换成小写之后使用字符串的IndexOf方法:   string strParent = "The Codeproject site is very informative."; string strChild = "codeproject"; // The line below will return -1 when expected is 4. int i = strParent.IndexOf(strChild); // The line below will return proper index int j = strParent.ToLower().IndexOf(strChild.ToLower());           2)  一种更优雅的方法是使用System.Globalization命名空间下面的CompareInfo类的IndexOf方法:   using System.Globalization; string strParent = "The Codeproject site is very informative."; string strChild = "codeproject"; // We create a object of CompareInfo class for a neutral culture or a culture insensitive object CompareInfo Compare = CultureInfo.InvariantCulture.CompareInfo; int i = Compare.IndexOf(strParent,strChild,CompareOptions.IgnoreCase);   二. OOPs 1. 什么是复制构造函数 我们知道构造函数是用来初始化我们要创建实例的特殊的方法。通常我们要将一个实例赋值给另外一个变量c#只是将引用赋值给了新的变量实质上是对同一个变量的引用,那么我们怎样才可以赋值的同时创建一个全新的变量而不只是对实例引用的赋值呢?我们可以使用复制构造函数。 我们可以为类创造一个只用一个类型为该类型的参数的构造函数,如:   public Student(Student student) {  this.name = student.name; }   使用上面的构造函数我们就可以复制一份新的实例值,而非赋值同一引用的实例了。 class Student {      private string name;      public Student(string name)       {          this.name = name;      }      public Student(Student student)       {          this.name = student.name;      }     public string Name       {        get          {               return name;         }        set          {             name = value;         }     } } class Final {     static void Main()        {         Student student = new Student ("A");         Student NewStudent = new Student (student);         student.Name = "B";         System.Console.WriteLine("The new student's name is {0}", NewStudent.Name);       } }   The new student's name is A. 2.什么是只读常量 就是静态的只读变量,它通常在静态构造函数中赋值。  class Numbers {     public readonly int m;     public static readonly int n;     public Numbers (int x)      {        m=x;     }     static Numbers ()      {         n=100;     }  } //其中n就是一个只读的常量,对于该类的所有实例他只有一种值,而m则根据实例不同而不同   三.VS.Net IDE 1. 2请看原作 3.如何改变region的颜色 通过工具 选项 环境 字体和颜色 可折叠文本设置   四.WinForm 1.如何使winForm不显示标题栏? 通过设置form的Text属性为空字符串,设置ControlBox属性为false form1.Text = string. Empty; form1.ControlBox = false; 2.如何使winform的窗体使用XP的风格 见原作 3.如何禁止form在工具栏显示 设置form的ShowInTaskbar属性为false即可 4.如何使程序打开默认的邮件程序并带有一些参数让用户开始写邮件 1)如果是web程序: some text 2) 对于windows程序,需要使用System.Diagnostics.Process类 Process process = new Process(); process.StartInfo.FileName = "mailto:email@address1.com,email@address2.com?subject=Hello&cc=email@address3.com &bcc=email@address4.com&body=Happy New Year" ; process.Start(); 5.如何创建类似msn提示窗口 需要获得通过Screen.GetWorkingArea(this).Width(Height)属性获得屏幕的大小,然后使用一个timer根据时间改变窗口的位置 五.Button控件 1.如何设置form的默认button(即在form上按下回车时触发的button) 可以设置form的AcceptButton属性:form1.AcceptButton = button1; 2. 如何设置form的取消button(即在用户按下Esc键时触发的button) 可以设置form的CancelButton属性:form1.CancelButton = buttonC; 3. 如何通过程序触发一个button的Click事件 Button1.PerformClick   六.Combo Box 1.如何使用可选字体填充Combo Box comboBox1.Items.AddRange (FontFamily.Families);   七.TextBox 1.如何禁用TextBox的默认上下文菜单(右键菜单) textBox1.ContextMenu = new ContextMenu(); 2,3 见原作 4.如何在TextBox获得焦点的时候,将焦点放在textBox文字的最后 textBox1.SelectionStart = textBox1.Text.Length;
本文档为【一些很酷的.NET技巧.Net技巧】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_316182
暂无简介~
格式:doc
大小:155KB
软件:Word
页数:9
分类:互联网
上传时间:2010-12-16
浏览量:15