C#开发技巧之混合字符的长度以及打包.NET应用程序等
1. 求一串混合字符的长度(中英文相间的)
string str = "hello world 时间你好!";
int len = Encoding.GetEncoding("GB18030").GetBytes(str).Length;
2. 使用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工程的步骤。
3. 将一个Form显示在另一个Form里面
添加一个Panel控件到FormA中,设置FormB的TopLevel属性为false
FormB.TopLevel = false;
FormA.Panel1.Controls.Add(FormB);
FormB.Show();
4. 使用TextRender和Graphics.DrawString来绘制文本的区别
TextRender是使用GDI接口来完成图像绘制,而Graphics则是使用GDI+来完成图像绘制,显然GDI+的效率要比GDI高!
两则都可以实现换行绘制文本在特定的Rectangle中。对于Graphics的DrawString在绘制文本是自动进行换行处理,而TextRender则要添加一个标识:TextFormatFlags flags = TextFormatFlags.WordBreak。使用Graphics的 DrawString绘制文本的另一个优点是你可以使用StringFormat来控制所绘制的文本在Rectangle中的对齐状态。
Code
// 左上角对齐
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Near;
format.LineAlignment = StringAlignment.Near;
而TextRender依然使用了TextFormatFlags来处理对齐
Code
TextFormatFlags flags = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter | TextFormatFlags.WordBreak;
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);