c#小技巧
1.将一个Form显示在另一个Form里面
添加一个Panel控件到FormA中,设置FormB的TopLevel属性为false
FormA.Panel1.Controls.Add(FormB);
FormB.Show();
2.求一串混合字符的长度(中英文相间的)
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来处理对齐
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);