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);