国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

Vb.Net問題集 (轉(zhuǎn)貼于此)

2024-07-10 13:02:31
字體:
供稿:網(wǎng)友
  • 網(wǎng)站運(yùn)營(yíng)seo文章大全
  • 提供全面的站長(zhǎng)運(yùn)營(yíng)經(jīng)驗(yàn)及seo技術(shù)!
  •   
    作者:hejianzhong  

    我來談一個(gè)自已不太懂的東西實(shí)在是不明智的,實(shí)在是沒有人來談,一個(gè)人默默的鉆研總是很難有所成就的。在網(wǎng)上打入一個(gè)vb6的命題,會(huì)找到無數(shù)的解決方案。.vb7外國(guó)已經(jīng)出了好幾本很好的書,在國(guó)內(nèi)總有些人不屑這個(gè)beta版。這篇拙作也只算一個(gè)”beta”,”bug”肯定不少,看了別生氣,且作鋪路石,且作鋪路石。

    一.vb7中調(diào)用不共享的方法,函數(shù):

    這個(gè)問題我在論壇發(fā)了好幾天帖子,沒人愿意回答。只好求助一些英文的例程。

    有了結(jié)果,這個(gè)實(shí)在是很簡(jiǎn)單。對(duì)于vb7也相當(dāng)重要。因?yàn)樵趘b7中包括了幾乎

    所有api,甚至于更強(qiáng)大的功能。有一些是可以很簡(jiǎn)單的調(diào)用,如:

    1,  設(shè)置窗體的透明:form1.opacity = 0.89(可以設(shè)置為0.xx,opacity的意思是不透明程度)

    2,  展開region " windows form designer generated code "前面的+號(hào)你可以看到:

              me.text = "form1" ‘設(shè)置窗體的標(biāo)題(vb7中以text代替caption)

    me.newform2.location = new system.drawing.point (6, 14) ‘

    設(shè)置窗體的位置坐標(biāo)。

    me.borderstyle = system.winforms.formborderstyle.none

    設(shè)置窗體的外觀狀態(tài)

                me.backgroundimage = ctype(resources.getobject("$this.backgroundimage"), system.drawing.image)。設(shè)置背景圖片

    me.showintaskbar = false

    設(shè)置是否出現(xiàn)在任務(wù)欄

    me.clientsize = new system.drawing.size(536, 408)

    設(shè)置窗體尺寸。

    vb不提倡直接一修改region " windows form designer generated code ",

    你應(yīng)該在屬性框調(diào)節(jié)它們,但是利用這個(gè)原理,我們可以在load事件中加入一些

    代碼。

    例如:dim fhwnd1=integer:( “:”是分行的作用) dim f1 as system.winforms.form

         然后定義f1的形狀,

          取得句柄,fhwnd1=f1.handle

          同理取得名柄fhwnd2

          拼合兩個(gè)窗體,很容易一生成不規(guī)則窗體

          當(dāng)然winforms類的方法絕對(duì)不止這些,這只是最簡(jiǎn)單的了。

    3:獲取一個(gè)圖片的信息:form1.backgroundimage.width(圖片的寬度)

    form1.backgroundimage.height(圖片的高度)

    4.操作一個(gè)文件:dim filesam as system.io.file = new system.io.file ("sam.txt")

    filesam.delete,刪除文件

                 filesam.copy()

                 filesam.copyto()

                 filesam.create()

                 filesam.createtext()

    等等。這些只要看一下大概就知道是什么作用了,不再需要input,output了

    所以我建議不要使用namespace(族名,或譯為名稱空間,這里的空間實(shí)際上是一個(gè)類的組合。所以我稱為族名),這樣打入一個(gè)族名,打點(diǎn),他的子類就會(huì)以提示方式列出。

    在c#中使用using namespace vb中使用imports namespace作用是一樣的。

    現(xiàn)在的問題是有一些很重要的方法不會(huì)出現(xiàn)在子類的提示列表中(查一下class members)。這表示他是不共享的。

    首先你應(yīng)該在工程中調(diào)用他,而不要在模塊中,要建立一個(gè)函數(shù)過程。要聲明一個(gè)新的對(duì)象,而不要直接地使用,如:

    public function getpixel(byval x as integer, byval y as integer) as system.drawing.color

                dim bm as system.drawing.bitmap ,聲明一個(gè)對(duì)象

                bm = form1.backgroundimage(backgroundimage等同于vb6中的picture)

    getpixel = bm.getpixel(x, y)

    注意這里沒有使用return關(guān)鍵字返回值,是基于例程的用法。

    end function

    (有沒有發(fā)現(xiàn)vb7的基本語(yǔ)法變化并不是很大,不象人們傳說的可怕)

    (windowsme因?yàn)楦淖兲《蝗肆R,vb7又因?yàn)楦淖兲蟊蝗肆R,實(shí)在令人感慨)

    然后: private sub form_load()

                

                call setrgn                                 

                dim strtemp as string

                dim pixcolor as system.drawing.color

                pixcolor = getpixel(1, 1)

                strtemp = pixcolor.tostring

                stop ‘在中斷的一方,移動(dòng)鼠標(biāo)停在strtemp變量上,可以看到返回了一個(gè)像素的rgb

    end sub

    二.窗體之間的數(shù)據(jù)傳輸,

    有時(shí)候我們想按下form1的button,改變form2的textbox.text。這在vb6中是很簡(jiǎn)單的,在寫成form2.textbox.text=”xxxxx”的就行了,在vb7中卻不能這樣使用,這樣有些麻煩,但卻有利于封裝性的產(chǎn)生。在大型的軟件工程中,不至于因?yàn)轭惖南嗷ゾo密作用,導(dǎo)致調(diào)試的困難。例如一個(gè)窗體無法unload,我們無法確定是哪一個(gè)類的引用不當(dāng)造成。

    你可以寫一個(gè)接口過程就象大部分叢vb6升級(jí)到vb7的軟件那樣。如:

    private shared  m_vb6formdefinstance as form1

             public shared  property definstance() as form1

                  get

                       if m_vb6formdefinstance is nothing then

                           m_vb6formdefinstance = new form1()

                       end if

                       definstance = m_vb6formdefinstance

                  end get

                  set

                       m_vb6formdefinstance = value

                  end set

             end property

    這樣在form2中你可以寫form1.definstance.xxxx調(diào)用屬性。這大概算是一種兼容的方法

    實(shí)際上你應(yīng)該這樣寫

    在class form1中: inherits system.winforms.form 一行的后面public fm as new form2

    然后你可以象在vb6中一樣,使用fm.visible=true載入窗體并在form1中控制他。

    但是你卻不能這樣在form2中控制form1我想vb7是將form1作為默認(rèn)的主窗體

    應(yīng)該在form2中這樣寫:public fmm as system.winforms.form=form1 雖然vb7聲稱這樣寫等同于public fmm as form1 但這樣你會(huì)不成功。因?yàn)閒mm的值為null,如果使用 new form1那你會(huì)看到每調(diào)用一次會(huì)出現(xiàn)一個(gè)新的form1!!

    發(fā)表評(píng)論 共有條評(píng)論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 伊宁市| 正阳县| 普洱| 凤翔县| 乾安县| 景宁| 二连浩特市| 旬阳县| 贵州省| 洛川县| 积石山| 会同县| 兴仁县| 阳城县| 安国市| 玉门市| 察哈| 兰坪| 平潭县| 阿拉善盟| 南和县| 乌拉特后旗| 龙江县| 南川市| 中西区| 彩票| 阜阳市| 洪江市| 汉川市| 黄梅县| 巧家县| 广河县| 浮梁县| 遂昌县| 公主岭市| 武定县| 新蔡县| 读书| 游戏| 阜南县| 阜南县|