new 就是實(shí)例化,比如實(shí)例化一個(gè)類(lèi),你才能訪問(wèn),,
成都創(chuàng)新互聯(lián)公司是專(zhuān)業(yè)的靖州網(wǎng)站建設(shè)公司,靖州接單;提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行靖州網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
好比,你是張三,把你的地址告訴了我,我在能找到你家在哪,這個(gè)過(guò)程就可以稱(chēng)為實(shí)例化。
使用New關(guān)鍵字建立一個(gè)新的對(duì)象和用它屬的類(lèi)來(lái)定義是一樣的。New關(guān)鍵字可以被用作來(lái)建立一個(gè)窗體、類(lèi)模塊以及集合的實(shí)例。用戶(hù)在設(shè)計(jì)的時(shí)候建立的每一個(gè)窗體都是一個(gè)類(lèi)。New關(guān)鍵字能夠用來(lái)建立一個(gè)類(lèi)的實(shí)例。
可以通過(guò)以下步驟來(lái)建立一個(gè)類(lèi)的實(shí)例:
(1)在窗體上畫(huà)一個(gè)按鈕和幾個(gè)其他的控件。
(2)按鈕的Click事件過(guò)程加入以下代碼:
Dim x AS New Form1
x.Show
(3)運(yùn)行程序,并且點(diǎn)擊幾次按鈕,把最前面的窗體移開(kāi),因?yàn)榇绑w是一個(gè)有可視界面的類(lèi),此時(shí)可以看見(jiàn)有很多窗體的拷貝,每一個(gè)窗體具有相同的控件,并且出現(xiàn)在一個(gè)地方。
(4)將列代碼加到按鈕的click事件過(guò)程中:
Dim f As Form1
f=New Form1
f.text="hello"
f.Show
使用New關(guān)鍵字可以從類(lèi)模塊中定義的類(lèi)中建立一個(gè)新的集合和對(duì)象,要知道它們?cè)鯓庸ぷ鳎梢詤⒖枷旅娴睦樱?/p>
(1)建立一個(gè)新的工程,并且在一個(gè)名為Form1的窗體上畫(huà)一個(gè)按鈕控件。
(2)在Project(項(xiàng)目)菜單下,選擇"Add Class"給工程添加一個(gè)類(lèi)
(3)把新的類(lèi)命名為ShowMe.VB
(4)在該新類(lèi)中加入如下代碼:
PUblic Class ShowMe
Sub ShowFrm()
Dim frmNew As Form1
frmNew=New Form1
frmNew.Show()
frmNew.WindowState=1
End Sub
End Class
(5)在Button1_click事件的過(guò)程中加入如下代碼:Protected Sub Button1_Click(Byval sender As System.Object,_ Byval AS System.EventArgs) Dim clsNew As New ShowMe() clsNew.ShowFrm()End Sub
運(yùn)行程序,并且點(diǎn)擊幾次按鈕,將看見(jiàn)每創(chuàng)建一個(gè)ShowMe類(lèi)的新的實(shí)例時(shí),在桌面上有一個(gè)最小化的窗體的圖標(biāo)。
New關(guān)鍵字只能用來(lái)建立一個(gè)類(lèi)的對(duì)象,不能建立一個(gè)基于基本的數(shù)據(jù)類(lèi)型的對(duì)象,例如Integer。而且,不能建立一個(gè)基于一個(gè)具體對(duì)象的對(duì)象。例如,下面的代碼根據(jù)一個(gè)名為SomeClass的類(lèi),建立了一個(gè)名為Objx的對(duì)象,面后又錯(cuò)誤地企圖根據(jù)對(duì)象Objx再建立一個(gè)其他的對(duì)象:
Dim Objx As New SomeClass()
Dim Objx AS New Objx()
以上代碼是非法的。
呵呵##~
添加spire.doc.dll為引用,在vb.net中讀取指定word文檔的內(nèi)容到?txt文件,代碼示例如下:
'加載Word文檔
Dim doc As Document = New Documentdocument.LoadFromFile("測(cè)試文檔.docx")
'使用GetText方法獲取文檔中的所有文本
Dim s As String = doc.GetText
File.WriteAllText("文本1.txt", s.ToString)
在任意form類(lèi)或模塊中都可以創(chuàng)建類(lèi),跟建立函數(shù)和過(guò)程一樣。
示例:
public class form1
‘創(chuàng)建一個(gè)屬于form的子類(lèi),名稱(chēng)為【類(lèi)名】。
public class 類(lèi)名
’定義類(lèi)成員text
public text as string
end class
‘定義一個(gè)【類(lèi)名】類(lèi)的公共變量。
dim 類(lèi)名1 as 類(lèi)名
’定義一個(gè)過(guò)程,使用【類(lèi)名】類(lèi)的text成員
public sub 過(guò)程
‘實(shí)例化【類(lèi)名1】
類(lèi)名1=new 類(lèi)名
類(lèi)名1.text=“賦值”
’定義一個(gè)【新類(lèi)】類(lèi)的私用變量,并實(shí)例化。
dim 新類(lèi)1 as new 新類(lèi)
新類(lèi)1.name=“一個(gè)字符串”
新類(lèi)1.age=12
end sub
end class
‘’‘創(chuàng)建一個(gè)與form同級(jí)的類(lèi),名稱(chēng)為【新類(lèi)】
public class 新類(lèi)
public sub new()
end sub
public name as string
public age as integer
end class
在模塊中使用:
public class module1
dim a as new form1.類(lèi)名
end module
Imports?System.Text
Imports?System.Runtime.InteropServices
Public?Class?Form1
'?相關(guān)API函數(shù)聲明,注釋掉的這里沒(méi)用到,但是也比較常用吧,這些函數(shù)的功能都能搜到。
Private?Declare?Function?FindWindow?Lib?"user32"?Alias?"FindWindowA"?(ByVal?lpClassName?As?String,?ByVal?lpWindowName?As?String)?As?IntPtr
Private?Declare?Function?FindWindowEx?Lib?"user32"?Alias?"FindWindowExA"?(ByVal?hWnd1?As?IntPtr,?ByVal?hWnd2?As?IntPtr,?ByVal?lpsz1?As?String,?ByVal?lpsz2?As?String)?As?IntPtr
Private?Delegate?Function?EnumChildProc(ByVal?hWnd?As?IntPtr,?ByVal?lParam?As?Integer)?As?Boolean
Private?Declare?Function?EnumChildWindows?Lib?"user32.dll"?(ByVal?hWndParent?As?IntPtr,?ByVal?lpEnumFunc?As?EnumChildProc,?ByVal?lParam?As?Integer)?As?Boolean
Private?Declare?Auto?Function?SendMessage?Lib?"User32.dll"?(ByVal?hWnd?As?IntPtr,?ByVal?Msg?As?Integer,?ByVal?wParam?As?Integer,?ByVal?lParam?As?String)?As?Integer
'Private?Declare?Function?CheckDlgButton?Lib?"user32"?Alias?"CheckDLGButtonA"?(ByVal?hDlg?As?IntPtr,?ByVal?nIDButton?As?IntPtr,?ByVal?wCheck?As?Integer)?As?Integer
Private?Declare?Function?GetClassName?Lib?"user32"?Alias?"GetClassNameA"?(ByVal?hWnd?As?IntPtr,?ByVal?lpClassName?As?StringBuilder,?ByVal?nMaxCount?As?Integer)?As?Integer
'Private?Declare?Function?GetWindowThreadProcessId?Lib?"user32"?Alias?"GetWindowThreadProcessId"?(ByVal?hwnd?As?IntPtr,?ByVal?lpdwProcessId?As?Long)?As?Integer
Private?Declare?Auto?Function?GetWindowTextLength?Lib?"user32"?Alias?"GetWindowTextLength"?(ByVal?hwnd?As?IntPtr)?As?Integer
Private?Declare?Function?GetWindowText?Lib?"user32"?Alias?"GetWindowTextA"?(ByVal?hwnd?As?IntPtr,?ByVal?lpString?As?StringBuilder,?ByVal?cch?As?Integer)?As?Integer
'?相關(guān)消息定義,也有沒(méi)用到的
Const?WM_SETTEXT?=?HC
Const?WM_GETTEXT?=?HD
'Const?WM_SETFOCUS?=?H7
'Const?WM_KILLFOCUS?=?H8
'Const?WM_CLOSE?=?H10
'Const?WM_SYSCOMMAND?=?H112
'Const?SC_CLOSE?=?HF060
'Const?SC_MINIMIZE?=?HF020
Const?BM_GETCHECK?=?HF0
Const?BM_SETCHECK?=?HF1
Const?BM_GETSTATE?=?HF2
Const?BM_SETSTATE?=?HF3
Const?BM_SETSTYLE?=?HF4
Const?BM_CLICK?=?HF5
'Const?BM_GETIMAGE?=?HF6
'Const?BM_SETIMAGE?=?HF7
Const?BST_UNCHECKED?=?O0
Const?BST_CHECKED?=?O1
Const?BST_INDETERMINATE?=?O2
'?儲(chǔ)存窗口句柄
Dim?WindowHandle?As?IntPtr
'?儲(chǔ)存兩個(gè)(或者多個(gè))編輯框句柄
Dim?EditHandle?As?New?List(Of?IntPtr)
Dim?EditWindowsText?As?List(Of?String)
'?儲(chǔ)存復(fù)選框句柄
Dim?CheckHandle?As?IntPtr?=?0
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
Button1_Click(sender,?e)
End?Sub
'?EnumChildWindows?回調(diào)函數(shù),該函數(shù)名作為API函數(shù)EnumChildWindows?的一個(gè)參數(shù)
'?該函數(shù)實(shí)現(xiàn)了枚舉各個(gè)子窗口,找出編輯框?qū)傩缘墓δ?/p>
Public?Function?EnumChildProcC(ByVal?hwnd?As?IntPtr,?ByVal?lParam?As?Integer)?As?Boolean
Dim?dwWindowClass?As?StringBuilder?=?New?StringBuilder(100)
'?獲得某一個(gè)句柄的類(lèi)名
GetClassName(hwnd,?dwWindowClass,?100)
If?dwWindowClass.ToString.Contains("EDIT")?Or?dwWindowClass.ToString.Contains("Edit")?Then?????'?類(lèi)名包含EDIT的為編輯框
EditHandle.Add(hwnd)????????????????????????'?存儲(chǔ)該句柄
End?If
'?返回?True?一直枚舉完
Return?True
End?Function
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
WindowHandle?=?FindWindow(vbNullString,?"登陸")
If?WindowHandle.ToInt32?=?0?Then
MsgBox("未捕獲到窗口"?+?"登陸")
Return
End?If
'?枚舉所有主窗口的子窗口(控件),枚舉時(shí)自動(dòng)調(diào)用回調(diào)函數(shù),完成編輯框句柄的獲取
EnumChildWindows(WindowHandle,?AddressOf?EnumChildProcC,?0)
'?尋找復(fù)選框
CheckHandle?=?FindWindowEx(WindowHandle,?IntPtr.Zero,?vbNullString,?"記住密碼")
Dim?str?As?New?StringBuilder
Dim?j?As?Integer?=?0
'?對(duì)編輯框文本賦值
For?j?=?0?To?EditHandle.Count?-?1
SendMessage(EditHandle(j),?WM_SETTEXT,?0,?"Text")
'GetWindowText(EditHandle(j),?str,?20)
'EditWindowsText.Add(Str.ToString)
'Str.Clear()
Next
If?EditHandle.Count?=?0?Then
MsgBox("未找到輸入框!")
End?If????????
If?CheckHandle.ToInt32??0?Then
'CheckDlgButton(WindowHandle,?id,?1)
'?對(duì)復(fù)選框進(jìn)行鼠標(biāo)單擊操作
SendMessage(CheckHandle,?BM_CLICK,?0,?0)
'SendMessage(CheckHandle,?BM_SETCHECK,?True,?0)
End?If
End?Sub
End?Class
在網(wǎng)上收到一些關(guān)于文件操作的列子,現(xiàn)在和大家分享一下,以下的示例代碼將向您展示如何使用VB.NET FileInfo來(lái)拷貝、移動(dòng)和刪除文件,以及如何使用DirectoryInfo來(lái)移動(dòng)和刪除文件夾。(注意:為了運(yùn)行這些示例,您需要將這條語(yǔ)句:Imports System.IO,添加到您的表單或模塊的最頂部。)
VB.NET FileInfo示例 拷貝一個(gè)文件 1. Dim fFile1 As New FileInfo("C:abc1.txt")2.3. fFile1.CopyTo("C:abc2.txt", True)4. 我們將fFile1變量定義為一個(gè)FileInfo對(duì)象并設(shè)定它指向文件系統(tǒng)中的一個(gè)目錄,為了拷貝一個(gè)文件,我們使用FileInfo對(duì)象中的CopyTo方法并指明我們計(jì)劃要拷貝的目標(biāo)文件的全名。 移動(dòng)一個(gè)文件 1. Dim fFile1 As New FileInfo("C:abc1.txt")2.3. fFile1.MoveTo("C:abc3.txt")4. 我們將fFile1變量定義為一個(gè)FileInfo對(duì)象并設(shè)定它指向文件系統(tǒng)中的一個(gè)目錄,為了拷貝一個(gè)文件,我們使用FileInfo對(duì)象中的CopyTo方法并指明我們計(jì)劃要移動(dòng)的目標(biāo)文件的全名。 刪除一個(gè)文件 1. Dim fFile1 As New FileInfo("C:abc1.txt")2.3. fFile1.Delete()4. 我們將fFile1變量定義為一個(gè)FileInfo對(duì)象并設(shè)定它指向文件系統(tǒng)中的一個(gè)目錄,為了刪除一個(gè)文件,我們使用FileInfo對(duì)象中的Delete方法。 VB.NET FileInfo DirectoryInfo示例 移動(dòng)一個(gè)文件夾 1. Dim dDir1 As New DirectoryInfo("C:Folder1")2.3. dDir1.MoveTo("C:Folder2")4. 我們將dDir1變量定義為一個(gè)DirectoryInfo對(duì)象并設(shè)定它指向文件系統(tǒng)中的一個(gè)目錄,為了移動(dòng)一個(gè)文件夾,我們使用DirectoryInfo對(duì)象的MoveTo方法,并指明我們所移動(dòng)的文件夾的完整目標(biāo)路徑。 刪除一個(gè)文件夾 1. Dim dDir1 As New DirectoryInfo("C:Folder1")2.3. dDir1.Delete()4. 我們將dDir1變量定義為一個(gè)DirectoryInfo對(duì)象并設(shè)定它指向文件系統(tǒng)中的一個(gè)目錄,為了刪除一個(gè)文件夾,我們使用DirectoryInfo對(duì)象的Delete方法。) 作者:未知 來(lái)源:網(wǎng)絡(luò)
dim str as string = "hjl"
dim hjl as new textbox
hjl.text = str
真不太懂你的意思,