c#小技巧

1.将一个Form显示在另一个Form里面
添加一个Panel控件到FormA中,设置FormB的TopLevel属性为false

FormB.TopLevel = false;
FormA.Panel1.Controls.Add(FormB);
FormB.Show();


2.求一串混合字符的长度(中英文相间的)

string str = "hello world 时间你好!";
int len = Encoding.GetEncoding("GB18030").GetBytes(str).Length;


3.使用TextRender和Graphics.DrawString来绘制文本的区别
TextRender是使用GDI接口来完成图像绘制,而Graphics则是使用GDI+来完成图像绘制,显然GDI+的效率要比GDI高!
两则都可以实现换行绘制文本在特定的Rectangle中。对于Graphics的DrawString在绘制文本是自动进行换行处理,而TextRender则要添加一个标识:TextFormatFlags flags = TextFormatFlags.WordBreak。使用Graphics的DrawString绘制文本的另一个优点是你可以使用StringFormat来控制所绘制的文本在Rectangle中的对齐状态。

// 左上角对齐            
StringFormat format = new StringFormat();
format.Alignment 
= StringAlignment.Near;
format.LineAlignment 
= StringAlignment.Near;

而TextRender依然使用了TextFormatFlags来处理对齐

TextFormatFlags flags = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter | TextFormatFlags.WordBreak;



4. 使用VS2005中自带的Step Project打包.net应用程序
    (1)创建 File -> New -> Project -> Other Project Types -> Setup and Deployment 中的Setup Project项目
    (2)在Application Folder右键菜单中Add -> File..., 在打开的对话框中选中你要打包的文件
    (3)右键要执行的程序,Create Shortcut to [应用程序名], 然后拉到User's Desktop目录中,说明一下User's Desktop和User's Programs Menu着
              两个项目是创建内容到桌面和开始菜单中,是可选的(注意:要查看Application Folder的属性将AlwaysCreate设置为true)
    (4)右键工程选择Properties->Prerequisites...选择要包含的项目,如.Net framework2.0。在选择Download prerequisites from the same location  as
              my application。
    (5)编译工程就可以了。其中路径名和开发者等设置,在项目的属性中(不是点右键后的properties哦)。
这是最简单的打包一个.net工程的步骤。

5. 在字符串中实现换行链接: string str = "abcd \r\n efgh"; 其实还可以使用System.Environment.NewLine来实现。
    string str = "abcd" + System.Environment.NewLine + "efgh";

6. 将十六进制形式的字符串转换到数值形式的方法,这里以32位整数为例
    int val = Int32.Parse("FF", System.Globalization.NumberStyles.AllowHexSpecifier);

   

posted @ 2007-08-19 23:02  moonz-wu  阅读(1039)  评论(0编辑  收藏  举报