新聞中心
本文向大家介紹VB.Net問(wèn)題集,可能好多人還不了解VB.Net問(wèn)題集,沒(méi)有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。

成都創(chuàng)新互聯(lián)主營(yíng)阜南網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,App定制開發(fā),阜南h5微信小程序開發(fā)搭建,阜南網(wǎng)站營(yíng)銷推廣歡迎阜南等地區(qū)企業(yè)咨詢
今天我主要來(lái)談一個(gè)自已不太懂的東西實(shí)在是不明智的,實(shí)在是沒(méi)有人來(lái)談,一個(gè)人默默的鉆研總是很難有所成就的。在網(wǎng)上打入一個(gè)Vb.Net6的命題,會(huì)找到無(wú)數(shù)的解決方案。VB.Net7外國(guó)已經(jīng)出了好幾本很好的書,在國(guó)內(nèi)總有些人不屑這個(gè)beta版。這篇拙作也只算一個(gè)”Beta”,”bug”肯定不少,看了別生氣,且作鋪路石,且作鋪路石。
一.VB.Net7中調(diào)用不共享的方法,函數(shù):
這個(gè)問(wèn)題我在論壇發(fā)了好幾天帖子,沒(méi)人愿意回答。只好求助一些英文的例程。有了結(jié)果,這個(gè)實(shí)在是很簡(jiǎn)單。對(duì)于VB.Net7也相當(dāng)重要。因?yàn)樵赩B7中包括了幾乎所有API,甚至于更強(qiáng)大的功能。有一些是可以很簡(jiǎn)單的調(diào)用,如:
1 置窗體的透明: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)在的問(wèn)題是有一些很重要的方法不會(huì)出現(xiàn)在子類的提示列表中(查一下class members)。這表示他是不共享的。
首先你應(yīng)該在工程中調(diào)用他,而不要在模塊中,要建立一個(gè)函數(shù)過(guò)程。要聲明一個(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)
注意:這里沒(méi)有使用return關(guān)鍵字返回值,是基于例程的用法。
End Function
(有沒(méi)有發(fā)現(xiàn)VB.Net7基本語(yǔ)法變化并不是很大,不象人們傳說(shuō)的可怕)
(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。這在VB.Net6中是很簡(jiǎn)單的,在寫成form2.textbox.text=”xxxxx”的就行了,在VB.Net7中卻不能這樣使用,這樣有些麻煩,但卻有利于封裝性的產(chǎn)生。在大型的軟件工程中,不至于因?yàn)轭惖南嗷ゾo密作用,導(dǎo)致調(diào)試的困難。例如一個(gè)窗體無(wú)法unload,我們無(wú)法確定是哪一個(gè)類的引用不當(dāng)造成。
你可以寫一個(gè)接口過(guò)程就象大部分叢VB.Net6升級(jí)到VB.Net7的軟件那樣。如:
- 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 雖然VB.Net7聲稱這樣寫等同于Public fmm as form1 但這樣你會(huì)不成功。因?yàn)閒mm的值為Null,如果使用 New form1那你會(huì)看到每調(diào)用一次會(huì)出現(xiàn)一個(gè)新的form1!!
以上就是對(duì)VB.Net問(wèn)題集的簡(jiǎn)單理解,有不足的地方希望讀者查閱更多的書籍深入的去理解,這里我們就不介紹了。
文章題目:簡(jiǎn)單分析VB.Net問(wèn)題集
網(wǎng)頁(yè)路徑:http://m.fisionsoft.com.cn/article/cdcgipo.html


咨詢
建站咨詢
