根據(jù)個(gè)人的經(jīng)歷談?wù)剛€(gè)人感想
創(chuàng)新互聯(lián)建站一直在為企業(yè)提供服務(wù),多年的磨煉,使我們在創(chuàng)意設(shè)計(jì),營銷型網(wǎng)站到技術(shù)研發(fā)擁有了開發(fā)經(jīng)驗(yàn)。我們擅長傾聽企業(yè)需求,挖掘用戶對(duì)產(chǎn)品需求服務(wù)價(jià)值,為企業(yè)制作有用的創(chuàng)意設(shè)計(jì)體驗(yàn)。核心團(tuán)隊(duì)擁有超過10多年以上行業(yè)經(jīng)驗(yàn),涵蓋創(chuàng)意,策化,開發(fā)等專業(yè)領(lǐng)域,公司涉及領(lǐng)域有基礎(chǔ)互聯(lián)網(wǎng)服務(wù)雅安機(jī)房托管、成都app軟件開發(fā)、手機(jī)移動(dòng)建站、網(wǎng)頁設(shè)計(jì)、網(wǎng)絡(luò)整合營銷。
我一開始學(xué)的是VB,但學(xué)會(huì)后,也就是樓主你的樣子,后來學(xué)C,覺得C太垃圾了,這可能和VB的簡單形成對(duì)比,C語言學(xué)會(huì)后就再也沒用,后來直接由VB升級(jí)到VB.NET,的確,如同樓主所說,.NET是比較簡單,但是有個(gè)后遺癥,是現(xiàn)在我都煩的,就是編譯的軟件必須要在有.NET的電腦上運(yùn)行,XP是不帶.NET的,而且,版本還的相對(duì),如果用.NET4.0編的,在4.0以下版本電腦上運(yùn)行很可能就出錯(cuò),并且,如果你要打包的話也可以,就是把軟件打包成安裝包,然后附帶.NET環(huán)境,但缺點(diǎn)就出來了,.NET3.5完整安裝包235M,因?yàn)樗艘韵滤邪姹?,還好.NET4.0只有50M左右,因?yàn)樗话ㄒ韵掳姹?,但總之?NET就是簡單了編程,但復(fù)雜了使用,軟件得打包,不像VB,編好后直接打開EXE就可以了。所以就麻煩了,舉些例子,以前用VBA編OFFICE的宏,打開OFFICE就可以編,編好后就存為XLSM就可以了,現(xiàn)在用.NET就成了VSTO了,編好后,不和文檔在一起,是分開的DLL,如果要運(yùn)行,條件為,1,.NET環(huán)境,2,OFFICE,3,VSTO相比以前只需要OFFICE復(fù)雜了N倍,而且編輯時(shí)也需要VS(動(dòng)不動(dòng)就幾G)才行,相比以前只要有OFFICE就可以區(qū)別也很大,同樣,CAD的嵌入開發(fā)也是一樣的。
所以總體來說,越底層的語言越底層的API越好用,越通用,越高級(jí)的越不通用,所以現(xiàn)在我開發(fā)軟件我都煩了,要是一個(gè)小軟件幾百K~M,再附帶個(gè).NET就好幾百兆,用的時(shí)候還得安裝才能用,又不是什么大軟件有必要這么做么,還有.NET不是萬能的,有些地方也得用API,而且.NET其實(shí)也挺復(fù)雜,難的地方不比API簡單,其實(shí)就感覺是封裝好了的API而已。
至于數(shù)據(jù)庫,的確.NET連接比較簡單
至于學(xué)C?那就不用了,因?yàn)?NET的支持 C#,C++,VB,J#,只要會(huì)其中一種就可以了(而且你只要會(huì)其中一門,是能看懂另一門的,比如我雖然編輯C#可能要出錯(cuò),但C#代碼我是幾乎全部能看懂的,網(wǎng)上查資料也能看懂其他語言的),大部分是學(xué)C的升級(jí)用C#.NET,VB的升級(jí)成VB.NET,你沒必要把它當(dāng)成另一中語言來學(xué),語法是基本一樣的。只是從一開是學(xué)C的比較多,就成了C#的比較多而已了,至于語言,我不想做語言攻擊,其實(shí)都是有用的,就是看自己習(xí)慣不,比如我就不習(xí)慣C。
我也不想說VB好還是VB.NET好,其實(shí)是看你用途,我只是至今沒發(fā)現(xiàn)什么網(wǎng)上的軟件是.NET編輯的,一些軟件比如CAD,OFFICE安裝時(shí)安裝了.NET,其實(shí)都不是它們是基于.NET編輯的,而是為了支持.NET的嵌入式開發(fā),你所看到的軟件,比如QQ,迅雷,你看他們帶.NET了嗎?要是.NET好,他們干嘛不用,答案是因?yàn)椴环奖悖驗(yàn)閄P系統(tǒng)一般是沒有.NET的,連WIN7內(nèi)嵌的.NET都不支持最新的.NET,也就是你用什么版本編的就得安裝相應(yīng)版本,那也要求對(duì)方電腦也得跟著升級(jí),而API是不用升級(jí)著走的~
所以,你要編的軟件在其他電腦上用,VB+API吧,如果你要個(gè)人電腦上用,VB.NET吧,如果你編小軟件vb+api吧,如果你要大型軟件就VB.NET吧,所以,你自己選吧。
希望給你的意見能對(duì)你有好處,現(xiàn)在深夜11點(diǎn)了,我也改睡了,拜拜!~
祝你學(xué)習(xí)愉快!
對(duì)了,還有點(diǎn),比如CAD2007不支持.NET3.5以上的編程,而且.NET編好的EXE或者DLL是可以用專門的軟件打開看你源代碼的,也就是反編譯,這對(duì)于加密(可以看你的加密方法)就很麻煩了(據(jù)說采用什么辦法可以解決)。
這是典型對(duì).net構(gòu)架不理解造成的!
只要是.net編程,一定使用的是.net類庫,必須是同運(yùn)行版本的.net支持方可運(yùn)行。而所謂的vb.net只是說編程的語言層使用的是vb語言而已。該語言在.net構(gòu)架下被編譯成為IL語言(MSIL,嚴(yán)格說來是IL的一個(gè)子集)。而上層的語言只是產(chǎn)生軟件時(shí)所使用的一個(gè)不同語言規(guī)則而已,與IL已經(jīng)沒有任何相關(guān)性了。上層語言無論是C#還是VB,甚至是Java(J#)均只適應(yīng)編程人員的一個(gè)策略,與整個(gè)構(gòu)造沒有多大的相關(guān)性。
.net的最終目的就是讓不同的語言編程人員能協(xié)同工作,那么語言在其中的區(qū)別沒有多大了,所有的運(yùn)行核心都是由.net完成的,沒有必須依賴于.net。這是沒有任何疑問的。
vb.net就是.net,只是表示用VB語言人的稱呼,用C#的則稱其為C#.net,但不管是哪種,它是無法脫離.net的。
VB.Net中提供了ProgressBar控件,用于顯示進(jìn)度條
我建議你不要用進(jìn)度條顯示剩余時(shí)間而是顯示執(zhí)行進(jìn)度
這樣比較好控制
設(shè)置ProgressBar的Minimum和Maximum屬性為循環(huán)的起始和終止數(shù)值
然后在代碼的循環(huán)體中計(jì)算當(dāng)前循環(huán)的進(jìn)度,然后設(shè)置進(jìn)度條的Value屬性,
將進(jìn)度顯示在進(jìn)度條上
比如,簡單的例子:
Dim Progress As Integer
ProgressBar1.Minimum = Min
ProgressBar1.Maximum = Max
For i As Integer = Min To Max
'執(zhí)行計(jì)算.......
Progress = i \ Max '計(jì)算進(jìn)度
ProgressBar1.Value = Progress '顯示進(jìn)度
My.Application.DoEvents() '使用Doevents防止窗體假死使進(jìn)度條看不到,但是會(huì)嚴(yán)重降低運(yùn)行速度
Next
這里的優(yōu)化技巧是,可以設(shè)置為每隔N次循環(huán)才更新進(jìn)度條
If Not Progress Mod N Then ProgressBar1.Value = Progress
不然進(jìn)度條的更新也許比計(jì)算的速度還要慢很多
如果是可視化控件,可以點(diǎn)圖中右下角的“瀏覽”,找到emodelview.dll就可以添加到工具箱
如果是類庫,要在項(xiàng)目屬性的“引用”中添加。
受不了,中國的人才到哪去了,這個(gè)問題被看了2067次居然還是沒有人回答。不好意思,我不是來回答的,我是看到這個(gè)比較氣憤而已,這個(gè)答案我找了快一個(gè)小時(shí)了,還是沒找到。
循環(huán)讀取Gird里面的每行數(shù)據(jù),增加數(shù)據(jù)到Viewer里面;分步百度搜索可得結(jié)果;