十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
1.做游戲。我做過坦克大戰(zhàn)
成都一家集口碑和實力的網(wǎng)站建設服務商,擁有專業(yè)的企業(yè)建站團隊和靠譜的建站技術,十多年企業(yè)及個人網(wǎng)站建設經(jīng)驗 ,為成都近千家客戶提供網(wǎng)頁設計制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設等服務,包括成都營銷型網(wǎng)站建設,高端網(wǎng)站設計,同時也為不同行業(yè)的客戶提供成都做網(wǎng)站、成都網(wǎng)站設計的服務,包括成都電商型網(wǎng)站制作建設,裝修行業(yè)網(wǎng)站制作建設,傳統(tǒng)機械行業(yè)網(wǎng)站建設,傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設。在成都做網(wǎng)站,選網(wǎng)站制作建設服務商就選創(chuàng)新互聯(lián)。
2.編程。我做過《職工管理系統(tǒng)V2.10》用VB操作數(shù)據(jù)庫。
3.演示文稿。輔助講座、上課。
4.制作電腦、學習等方面的小工具。如練習打字的軟件、學習英語的軟件……這本質(zhì)上也是編程。
如果技術夠用,能實現(xiàn)你的愿望。
處理數(shù)據(jù)行(DataRow)
Windows窗體中的數(shù)據(jù)綁定列表框和組合框很節(jié)省時間 典型的代碼如下(假定已經(jīng)建立了SqlDataAdapter或者其它部件獲取數(shù)據(jù))
Dim ds As New DataSet() SqlDataAdapter Fill(ds Customers ) ListBox DataSource = ds Tables( Customers ) ListBox DisplayMember = CompanyName ListBox ValueMember = CustomerID
在這種情況下 代碼使用Northwind數(shù)據(jù)庫的顧客記錄工作 DisplayMember屬性設置為你希望用戶在列表框中看到的記錄字段 它是customers表的CompanyName 通常ValueMember屬性設置為數(shù)據(jù)表中的一個鍵字段 對于customer來說是CustomerID 一旦用戶選擇了列表框中的一行 很容易使用列表框的SelectedValue屬性獲得鍵字段
MsgBox(ListBox SelectedValue)
但是有可能需要一個與被選擇項相關的整個數(shù)據(jù)行對象的引用 例如 如果被選擇的行需要被刪除 就不知道鍵了 你需要一個數(shù)據(jù)行的引用以使用Delete方法
典型的Visual Basic開發(fā)者通常這樣想 我已經(jīng)得到了該行的鍵了 我將編寫一些邏輯來查找使用該鍵的行 這樣可以實現(xiàn) 但是有更好的實現(xiàn)方法 可以使用一行代碼獲取與列表框中選項關聯(lián)的數(shù)據(jù)行
Dim dr As DataRow = CType(ListBox SelectedItem DataRowView) Row
通常該邏輯不會憑直覺出現(xiàn) 即使對經(jīng)驗豐富的開發(fā)者 為了解釋這是怎樣實現(xiàn)的 我把上面的一行拆成幾行 下面的代碼與上面代碼的功能相同
Dim drv As DataRowView drv = CType(ListBox SelectedItem DataRowView) Dim dr As DataRow dr = drv Row
DataRowView類是數(shù)據(jù)行的包裝 它被多個Windows窗體控件使用 它使得顯示與控件中的數(shù)據(jù)行相關的數(shù)據(jù)更加容易 當列表框被數(shù)據(jù)綁定到數(shù)據(jù)表時(假定列表框中的有些行當前被選定了) 列表框的SelectedItem屬性保存了一個DataRowView對象
這意味著我們能把列表框的SelectedItem屬性轉換到DataRowView對象 這就是上面代碼中的第二行實現(xiàn)的 接著DataRowView暴露一個Row屬性 它指向被包裝的數(shù)據(jù)行 上面的代碼聲明了一個數(shù)據(jù)行并設置了Row屬性
轉換對象的類型以訪問它的接口的技術在Visual Basic 中不是經(jīng)常使用 但是在Visual Basic NET中這是經(jīng)常的 有了上面的例子后 大多數(shù)有經(jīng)驗的開發(fā)者迅速跟上了這種技術
數(shù)據(jù)行的引用(dr)可用于用任何方式維護行 訪問數(shù)據(jù)行中的任何特定字段是可行的 行中的數(shù)據(jù)可以被改變 能使數(shù)據(jù)行的Delete方法把該行標識為刪除 或者從數(shù)據(jù)表的行集合中刪除該行 下面的代碼標識刪除了一行
dr Delete()
lishixinzhi/Article/program/net/201311/12974
根據(jù)個人的經(jīng)歷談談個人感想
我一開始學的是VB,但學會后,也就是樓主你的樣子,后來學C,覺得C太垃圾了,這可能和VB的簡單形成對比,C語言學會后就再也沒用,后來直接由VB升級到VB.NET,的確,如同樓主所說,.NET是比較簡單,但是有個后遺癥,是現(xiàn)在我都煩的,就是編譯的軟件必須要在有.NET的電腦上運行,XP是不帶.NET的,而且,版本還的相對,如果用.NET4.0編的,在4.0以下版本電腦上運行很可能就出錯,并且,如果你要打包的話也可以,就是把軟件打包成安裝包,然后附帶.NET環(huán)境,但缺點就出來了,.NET3.5完整安裝包235M,因為它包括了以下所有版本,還好.NET4.0只有50M左右,因為它不包括以下版本,但總之,.NET就是簡單了編程,但復雜了使用,軟件得打包,不像VB,編好后直接打開EXE就可以了。所以就麻煩了,舉些例子,以前用VBA編OFFICE的宏,打開OFFICE就可以編,編好后就存為XLSM就可以了,現(xiàn)在用.NET就成了VSTO了,編好后,不和文檔在一起,是分開的DLL,如果要運行,條件為,1,.NET環(huán)境,2,OFFICE,3,VSTO相比以前只需要OFFICE復雜了N倍,而且編輯時也需要VS(動不動就幾G)才行,相比以前只要有OFFICE就可以區(qū)別也很大,同樣,CAD的嵌入開發(fā)也是一樣的。
所以總體來說,越底層的語言越底層的API越好用,越通用,越高級的越不通用,所以現(xiàn)在我開發(fā)軟件我都煩了,要是一個小軟件幾百K~M,再附帶個.NET就好幾百兆,用的時候還得安裝才能用,又不是什么大軟件有必要這么做么,還有.NET不是萬能的,有些地方也得用API,而且.NET其實也挺復雜,難的地方不比API簡單,其實就感覺是封裝好了的API而已。
至于數(shù)據(jù)庫,的確.NET連接比較簡單
至于學C?那就不用了,因為.NET的支持 C#,C++,VB,J#,只要會其中一種就可以了(而且你只要會其中一門,是能看懂另一門的,比如我雖然編輯C#可能要出錯,但C#代碼我是幾乎全部能看懂的,網(wǎng)上查資料也能看懂其他語言的),大部分是學C的升級用C#.NET,VB的升級成VB.NET,你沒必要把它當成另一中語言來學,語法是基本一樣的。只是從一開是學C的比較多,就成了C#的比較多而已了,至于語言,我不想做語言攻擊,其實都是有用的,就是看自己習慣不,比如我就不習慣C。
我也不想說VB好還是VB.NET好,其實是看你用途,我只是至今沒發(fā)現(xiàn)什么網(wǎng)上的軟件是.NET編輯的,一些軟件比如CAD,OFFICE安裝時安裝了.NET,其實都不是它們是基于.NET編輯的,而是為了支持.NET的嵌入式開發(fā),你所看到的軟件,比如QQ,迅雷,你看他們帶.NET了嗎?要是.NET好,他們干嘛不用,答案是因為不方便,因為XP系統(tǒng)一般是沒有.NET的,連WIN7內(nèi)嵌的.NET都不支持最新的.NET,也就是你用什么版本編的就得安裝相應版本,那也要求對方電腦也得跟著升級,而API是不用升級著走的~
所以,你要編的軟件在其他電腦上用,VB+API吧,如果你要個人電腦上用,VB.NET吧,如果你編小軟件vb+api吧,如果你要大型軟件就VB.NET吧,所以,你自己選吧。
希望給你的意見能對你有好處,現(xiàn)在深夜11點了,我也改睡了,拜拜!~
祝你學習愉快!
對了,還有點,比如CAD2007不支持.NET3.5以上的編程,而且.NET編好的EXE或者DLL是可以用專門的軟件打開看你源代碼的,也就是反編譯,這對于加密(可以看你的加密方法)就很麻煩了(據(jù)說采用什么辦法可以解決)。
NET框架組件太大了 比任何以前所寫的封裝功能的庫都要大 這樣有好處 因為它大幅削減了建立應用程序所需編寫的代碼 但是也使我們不可能完全了解該框架組件 但是我們很容易從中找到一些技巧
窗體嵌套
經(jīng)驗豐富的Visual Basic開發(fā)者知道多文檔界面(MDI)應用程序能夠包含子窗體 那些子窗體由MDI父窗體管理 但是如果沒有MDI的能力你怎樣實現(xiàn)包含嵌套窗體?例如一個MDI子窗體也可能需要包含另一個窗體
有時能夠使用用戶控件(UserControl)實現(xiàn)這種功能 但是如果你真的需要把一個窗體嵌套進另一個窗體 有多種方法可以實現(xiàn) 窗體衍生自Control類 這意味著它能被放入另一個窗體的控件集合中 使用如下的邏輯
Dim f As New frmEmbed ()Me Controls Add(f)f Show()
但是很不幸 這段代碼將會導致一個運行時(runtime)異常(見圖 )
圖 試圖把一個窗體添加到另一個窗體的控件集合時出現(xiàn)的運行時錯誤
為了避免這種異常 該窗體的TopLevel屬性必須設置為False(見下面的代碼)
Dim f As New frmEmbed () f TopLevel = False Me Controls Add(f) f Show()
圖 顯示的是使用上面的邏輯實現(xiàn)的一個窗體嵌入另一個窗體 嵌入的窗體有一個標題條(它的顏色是未激活的系統(tǒng)顏色) 因此該嵌入窗體能在容器窗體內(nèi)四處拖動 在圖 中 該窗體從它的開始位置(左上角)拖到了右下角
圖 在容器窗體中有一個嵌入的窗體 嵌入的窗體能在容器窗體中拖動
通常在顯示嵌入的窗體前先設置它的位置 這只需要簡單的設置嵌入窗體的Left和Top屬性 嵌入窗體的位置與容器窗體是相對的
與MDI子窗體不同 嵌入窗體能覆蓋容器窗體上的控件 圖 顯示了它們的不同
圖 嵌入窗體(左)可以覆蓋容器窗體上的控件 MDI子窗體(右)不能覆蓋MDI父窗體上的控件
在右邊的MDI例子中 沒有辦法使按鈕隱藏在子窗體的后面 但是在左邊該按鈕被嵌入窗體覆蓋了
當窗體第一次被嵌入時 它將顯示在容器窗體上的已存在的控件的后面 當它被點擊時 它走向前臺并停留在那兒 這會打擾用戶 但是能通過插入下面的代碼防止這種情況發(fā)生
f BringToFront()
嵌入的窗體可以包含其它的嵌入窗體 沒有實際的限制 圖 顯示了一個本身包含嵌入的窗體的嵌入窗體
lishixinzhi/Article/program/net/201311/12398