您的位置:知识库 »

C#开发-基础知识及有用技巧

作者: watson  来源: 博客园  发布时间: 2008-09-09 09:53  阅读: 3188 次  推荐: 0   原文链接   [收藏]  

1、时间长度的计算 TimeSpan类。
   例如:TimeSpan span = dateTime1 - dateTime2   方便啊
2、从类(Class)返回一个System.Type类型,用typeof关键字
3、从一个对象实例(Object)返回一个System.Type类型,用GetType方法
4、判断是否处于设计状态:DesignMode属性
5、根据GUID创建对象实例


System.Guid pGuid = new Guid(guid);
System.Type ObjectCustorm
= Type.GetTypeFromCLSID(pGuid);
Object obj
= Activator.CreateInstance(ObjectCustorm);
6、GDI+不支持xor绘制模式的近似解决方法:
     ControlPaint.DrawReversibleFrame、ControlPaint.DrawReversibleLine方法
7、获取Enum类型中的所有枚举值:
   Enum.GetNames方法
   将字符串转换成枚举值
   Enum.Parse方法
8、Label放在图片上时,使Label透明

picLogo.Controls.Add(lblStatus);
lblStatus.BackColor
= Color.Transparent;

9、调用帮助文件
   打开帮助文件
     Help.ShowHelp(this,@"c:/windows/help/mspaint.chm");
     打开帮助文件,并跳转到指定的主题
     Help.ShowHelp(this,@"c:/windows/help/mspaint.chm","paint_lines.htm");
     打开帮助文件,并转到“索引”选项卡
     Help.ShowHelpIndex(this,@"c:/windows/help/mspaint.chm","paint_lines.htm");
     在屏幕上显示一条浮动的帮助信息
     Help.ShowPopup(this,"这里是帮助信息",new Point(100,100));

 

10、通过AppDomain在应用程序之间传递数据
      例如,两个系统可能会共用登录信息,登录一个系统后,再启动另一个系统时,不需要重新登录。
      先定义一个在应用程序之间传递的数据的类,该类必须从MarshalByRefObject继承:


/// <summary>
/// 用于在不同的appdomain之间传递参数
/// </summary>
public class AppDomainInfo:MarshalByRefObject
{
public int UserID;
}
      然后可以这样打开新的应用程序

AppDomainSetup setup = new AppDomainSetup();
setup.ApplicationName
= "测试程序";
AppDomain appDomain
= AppDomain.CreateDomain("TestDomain", null, setup);

AppDomainInfo domainInfo
= new AppDomainInfo();
domainInfo.UserID
= Winsharp.BaseClass.AppConfigInfo.UserID;
appDomain.SetData(
"domainInfo",domainInfo);

object obj = appDomain.CreateInstanceFromAndUnwrap(str,"TestDomain.Test");
(obj
as Form).Show();
11、换行字符串,相当于"\r\n",Environment.NewLine
 
     API中有GetTickCount函数,C#中为Environment.TickCount
12、取得安装操作系统输入的用户姓名和公司名称:

Microsoft.Win32.RegistryKey cmicRegKey=Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software");
cmicRegKey
=cmicRegKey.OpenSubKey("Microsoft");
cmicRegKey
=cmicRegKey.OpenSubKey("MS Setup (ACME)");
cmicRegKey
=cmicRegKey.OpenSubKey("User Info");
object cmicCompany = cmicRegKey.GetValue("DefCompany");
object cmicUser = cmicRegKey.GetValue("DefName");

0
0
标签:开发技巧

热门文章

    最新文章

      最新新闻

        热门新闻