×

c#小技巧

Kalet Kalet 发表于2009-03-20 12:00:14 浏览293 评论0

抢沙发发表评论

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


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;c#小技巧
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位整数为例c#小技巧
    int val = Int32.Parse("FF", System.Globalization.NumberStyles.AllowHexSpecifier);



群贤毕至

访客