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

首頁 > 編程 > .NET > 正文

Vb.Net問題集

2024-07-10 12:59:41
字體:
來源:轉載
供稿:網友

vb.net問題集
我來談一個自已不太懂的東西實在是不明智的,實在是沒有人來談,一個人默默的鉆研總是很難有所成就的。在網上打入一個vb6的命題,會找到無數的解決方案。.vb7外國已經出了好幾本很好的書,在國內總有些人不屑這個beta版。這篇拙作也只算一個”beta”,”bug”肯定不少,看了別生氣,且作鋪路石,且作鋪路石。

一.vb7中調用不共享的方法,函數:

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

有了結果,這個實在是很簡單。對于vb7也相當重要。因為在vb7中包括了幾乎

所有api,甚至于更強大的功能。有一些是可以很簡單的調用,如:

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

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

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

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

設置窗體的位置坐標。

me.borderstyle = system.winforms.formborderstyle.none

設置窗體的外觀狀態

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

me.showintaskbar = false

設置是否出現在任務欄

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

設置窗體尺寸。

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

你應該在屬性框調節它們,但是利用這個原理,我們可以在load事件中加入一些

代碼。

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

然后定義f1的形狀,

取得句柄,fhwnd1=f1.handle

同理取得名柄fhwnd2

拼合兩個窗體,很容易一生成不規則窗體

當然winforms類的方法絕對不止這些,這只是最簡單的了。

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

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

4.操作一個文件: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(族名,或譯為名稱空間,這里的空間實際上是一個類的組合。所以我稱為族名),這樣打入一個族名,打點,他的子類就會以提示方式列出。

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

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

首先你應該在工程中調用他,而不要在模塊中,要建立一個函數過程。要聲明一個新的對象,而不要直接地使用,如:

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

dim bm as system.drawing.bitmap ,聲明一個對象

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

getpixel = bm.getpixel(x, y)

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

end function

(有沒有發現vb7的基本語法變化并不是很大,不象人們傳說的可怕)

(windowsme因為改變太小而被人罵,vb7又因為改變太大被人罵,實在令人感慨)

然后: private sub form_load()



call setrgn

dim strtemp as string

dim pixcolor as system.drawing.color

pixcolor = getpixel(1, 1)

strtemp = pixcolor.tostring

stop ‘在中斷的一方,移動鼠標停在strtemp變量上,可以看到返回了一個像素的rgb

end sub

二.窗體之間的數據傳輸,

有時候我們想按下form1的button,改變form2的textbox.text。這在vb6中是很簡單的,在寫成form2.textbox.text=”xxxxx”的就行了,在vb7中卻不能這樣使用,這樣有些麻煩,但卻有利于封裝性的產生。在大型的軟件工程中,不至于因為類的相互緊密作用,導致調試的困難。例如一個窗體無法unload,我們無法確定是哪一個類的引用不當造成。

你可以寫一個接口過程就象大部分叢vb6升級到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調用屬性。這大概算是一種兼容的方法

實際上你應該這樣寫

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

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

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

應該在form2中這樣寫:public fmm as system.winforms.form=form1 雖然vb7聲稱這樣寫等同于public fmm as form1 但這樣你會不成功。因為fmm的值為null,如果使用 new form1那你會看到每調用一次會出現一個新的form1!!l

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 类乌齐县| 泗洪县| 准格尔旗| 安新县| 华池县| 涟源市| 建瓯市| 西吉县| 海原县| 苗栗市| 桃园县| 济阳县| 六盘水市| 海门市| 鄱阳县| 韶山市| 屯昌县| 兴文县| 施甸县| 临颍县| 孙吴县| 永嘉县| 阿瓦提县| 甘肃省| 日照市| 无极县| 泸州市| 清苑县| 安新县| 杨浦区| 桐城市| 上饶县| 修水县| 河源市| 大埔县| 南江县| 浦东新区| 盐池县| 武义县| 蒲城县| 金门县|