一分鐘教你學會VS2003代碼的使用技巧
原來有時間對Visual Studio進行了研究,我覺得VS2005代碼比VS2003代碼有了很大的改進,尤其是程序主菜單,一改原來單調(diào)的作風,當然,為了保持兼容,仍然可以用原來的MainMenu類,在對原來的項目進行升級時,并不會將主菜單自動更改為MenuStrip類。
#t#當然,此時你可以將原來的主菜單刪除,重新添加一個MenuStrip的主菜單,不過,這對于一個有大量菜單項的主菜單,工作量是很大的,且容易出錯,我們按照下面的步驟進行替換操作:
1、切換到主菜單定義的文件中和實現(xiàn)的文件中。
2、 選擇系統(tǒng)控件定義(也就是private System.Windows.Forms.MenuItem menuItem1;等這一部分)部分和實現(xiàn)部分(也就是#region 設計器生成的代碼所折疊的區(qū)域)。
3、按Ctrl+H彈出替換對話框,為防止誤替換,替換范圍為選擇的部分,VS2003代碼并勾選“搜索隱藏文本” 項。
4、將private System.Windows.Forms.MainMenu替換為
private System.Windows.Forms.MenuStrip
5、將private System.Windows.Forms.MenuItem替換為:
private System.Windows.Forms.ToolStripMenuItem
6、將new System.Windows.Forms.MainMenu(this.components) 替換為:
new System.Windows.Forms.MenuStrip()
7、將new System.Windows.Forms.MenuItem()替換為:
new System.Windows.Forms.ToolStripMenuItem()
8、將MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {替換為:
Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
9、將System.Windows.Forms.Shortcut {替換為:
System.Windows.Forms.Keys,該操作是替換快捷鍵。
10、由于MenuStrip和MenuStrip的快捷鍵指定方式不一樣,因此,將Shortcut =替換成ShortcutKeys =
11、最后,將this.Menu = this.mainMenu1;(mainMenu1為VS2003代碼中添加的主菜單名稱)改為:this.MainMenuStrip = this.mainMenu1;并加上一句
this.Controls.Add(mainMenu1);
編譯一下,根據(jù)報錯信息,刪除原MenuStrip類中為子菜單指定Index屬性的行,并將頂級菜單添加子菜單的項手工由ITems修改為DropDownItems,如:
this.menuItem5.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
改為
this.menuItem5.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
通過上面的操作就可以完成菜單的升級,因為都是通過復制/粘貼完成的,雖然步驟看起來較多,操作并不麻煩,為了使用程序支持XP風格,別忘了在原來的
- STAThread]
- static void Main()
- {
- Application.Run(new frmMain());
- }
- 中增加兩句,改為:
- [STAThread]
- static void Main()
- {
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new frmMain());
- }