C#開發技巧之混合字符的長度以及打包.NET應用程序等

作者: moonz-wu  來源: 博客園  發布時間: 2008-09-08 23:26  閱讀: 2840 次  推薦: 0   原文鏈接   [收藏]  

 

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

 

 

0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()