自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對(duì)于VS2003 activex的一些使用技巧

開發(fā) 后端
VS2003 Activex在對(duì)原來(lái)的項(xiàng)目進(jìn)行升級(jí)時(shí),并不會(huì)將主菜單的MainMenu類自動(dòng)更改為MenuStrip類,當(dāng)然,此時(shí)你可以將原來(lái)的主菜單刪除,重新為VS2005加一些VS2003 Activex選項(xiàng),添加一個(gè)MenuStrip的主菜單。

VS2005比VS2003有了很大的改進(jìn),尤其是VS2005 菜單程序主菜單,一改原來(lái)單調(diào)的模式,變成簡(jiǎn)約風(fēng)格,在C#2003中,主菜單用的是VS2003 Activex類,在C#2005中,改為MenuStrip類,當(dāng)然,為了保持兼容,仍然可以用原來(lái)的VS2003 Activex類。

這對(duì)于一個(gè)有大量菜單項(xiàng)的主菜單,工作量是很大的,且容易出錯(cuò),我們按照下面的步驟進(jìn)行替換操作:

1、切換到主菜單定義的文件中和實(shí)現(xiàn)的文件中。

2、選擇系統(tǒng)控件定義(也就是private System.Windows.Forms.MenuItem menuItem1;等這一部分)部分和

實(shí)現(xiàn)部分(也就是#region 設(shè)計(jì)器生成的代碼所折疊的區(qū)域)。

3、按Ctrl+H彈出替換對(duì)話框,為防止誤替換,替換范圍為選擇的部分,并勾選“搜索隱藏文本” 項(xiàng)。

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ù)報(bào)錯(cuò)信息,刪除原MenuStrip類中為子菜單指定Index屬性的行,并將頂級(jí)菜單添加VS2005 菜單的子菜單

的項(xiàng)手工由ITems修改為DropDownItems,如:

  1. this.menuItem5.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {  
  2. 改為  
  3. this.menuItem5.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {  

通過(guò)上面的操作就可以完成菜單的升級(jí),因?yàn)槎际峭ㄟ^(guò)復(fù)制/粘貼完成的,雖然步驟看起來(lái)較多,操作并不

麻煩,為了使用程序支持XP風(fēng)格,別忘了在原來(lái)的:

  1. [STAThread]  
  2.  
  3. static void Main()  
  4.  
  5. {  
  6.  
  7.           Application.Run(new frmMain());  
  8.  
  9. }  
  10.  
  11. 中增加兩句,改為:  
  12.  
  13. [STAThread]  
  14.  
  15. static void Main()  
  16.  
  17. {  
  18.  
  19. Application.EnableVisualStyles();  
  20.  
  21.  Application.SetCompatibleTextRenderingDefault(false);  
  22.  
  23.           Application.Run(new frmMain());  
  24.  
  25. }  

再來(lái)看全局資源。全局資源文件不會(huì)自動(dòng)被添加,但是我們可以自己建,也不會(huì)自動(dòng)被綁定(否則豈不成了VS2005 AI版)。當(dāng)你加完資源后,回到代碼編輯界面,你會(huì)發(fā)現(xiàn)Resources的智能感知會(huì)把資源文件名顯示出來(lái)讓你選擇,實(shí)在是方便,例如有個(gè)資源文件叫Res1,其中有一個(gè)String資源叫Text1,你就可以用Resources.Res1.Text1來(lái)獲得它的值??吹竭@樣的功能,再看看原來(lái)自己搭的 VS2003資源維護(hù)框架,不免覺(jué)得有些郁悶。這樣做的好處很容易想到,一方面資源找起來(lái)方便,另一方面資源名不容易打錯(cuò)。或許你會(huì)覺(jué)得有些好笑,資源名怎么會(huì)打錯(cuò),對(duì)于幾十個(gè)資源來(lái)說(shuō),這或許是可笑的錯(cuò)誤,但當(dāng)資源增加到數(shù)百個(gè)甚至上千個(gè),這種事情很容易發(fā)生。#t#

不過(guò),這次使用后,也發(fā)現(xiàn)了一些不足的地方,但是個(gè)人覺(jué)得從技術(shù)角度實(shí)現(xiàn)的確比較麻煩。比如,如果在使用過(guò)自動(dòng)生成資源后,控件改名了,如果再次自動(dòng)生成資源,VS2003 Activex會(huì)重建一個(gè)資源,而不是把原來(lái)的資源刪掉,這樣可能造成無(wú)用資源的堆積,特別是在多次的后期維護(hù)之后,當(dāng)然可能是我要求高了點(diǎn),大家不要見(jiàn)怪。

總的來(lái)說(shuō),我對(duì)這次的VS2005 菜單的本地化功能還是很認(rèn)可的,甚至有些感慨,開發(fā)工具能做到如此方便易用,真可謂是以用戶為導(dǎo)向,或者說(shuō)以應(yīng)用為導(dǎo)向,在這方面,中國(guó)的程序員應(yīng)該好好向微軟的同仁們學(xué)習(xí)。

由于時(shí)間倉(cāng)促,還沒(méi)有來(lái)得及看基于數(shù)據(jù)庫(kù)的資源支持情況,過(guò)兩天再說(shuō)吧。

責(zé)任編輯:chenqingxiang 來(lái)源: daily
相關(guān)推薦

2009-12-01 16:16:13

安裝VS2003

2009-11-30 13:51:28

ActiveX控件

2009-11-30 09:39:46

VS2003版本

2009-11-27 09:34:38

VS2003命令

2009-12-01 09:06:36

VS2003 ajax

2009-12-01 10:18:12

VS2003makef

2009-11-30 13:51:28

VS2003 Runt

2009-11-25 13:35:05

VS2003使用

2009-11-26 16:46:08

VS2003編譯

2009-11-30 13:51:28

2009-12-01 11:21:25

VS2003 報(bào)表

2009-11-30 11:05:19

VS2003 WebS

2009-11-30 17:28:39

VS2003 ASP

2009-11-30 16:50:26

VS2003調(diào)試

2009-12-01 15:32:48

VS2003配置

2009-12-01 17:55:11

VS2003配置

2009-11-30 10:34:28

VS2003編譯

2009-11-27 10:03:48

VS2003安裝失敗

2009-11-30 10:51:17

VS2003無(wú)法啟動(dòng)調(diào)

2009-11-26 13:40:53

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)