vb.nethwnd的簡單介紹

vb.net 磁盤文件列表,界面如圖,在.net下如何實現(xiàn)?

預先準備三個圖標文件,用于樹型控件中顯示磁盤符號和文件夾的圖像之用。

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、重慶小程序開發(fā)公司、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了汕尾免費建站歡迎大家使用!

1、窗體上添加控件如下:

組合框控件 ComboBox1,樹型控件 TreeView1,列表框控件 ListBox1,圖像列表控件 ImageList1。

選中TreeView1,設置其ImageList屬性為ImageList1。

2、設置屬性

選中圖像列表控件 ImageList1,在屬性窗口里,選中屬性Images,單擊三個小點按鈕,出現(xiàn)圖像集合編輯器窗口,單擊[添加按鈕],一一把準備好的圖標文件進行添加,注意先后次序,如果不符合要求可以通過上下移動按鈕重新改變次序。完成后單擊[確定]。

運行圖如下:

完整代碼如下:

Imports?System.IO

Public?Class?Form1

Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load

'添加系統(tǒng)所有磁盤目錄符號

For?Each?MyDrive?As?String?In?Environment.GetLogicalDrives()

ComboBox1.Items.Add(MyDrive)

Next

'顯示第一個磁盤符號

ComboBox1.Text?=?ComboBox1.Items(0)

End?Sub

'遞歸過程添加目錄樹

Public?Sub?AddDirectory(ByVal?strFatherPath?As?String,?ByVal?strPath?As?String,?ByVal?nodeFather?As?TreeNode)

Dim?i?As?Integer

Dim?Mynode?As?New?TreeNode

'先添加本目錄

Mynode.Text?=?Strings.Replace(strPath,?strFatherPath??"\",?"",?,?1)

'為節(jié)點指定未被選中時顯示的圖標

Mynode.ImageIndex?=?1

'為節(jié)點指定被選中時顯示的圖標

Mynode.SelectedImageIndex?=?2

nodeFather.Nodes.Add(Mynode)

Application.DoEvents()

Try

Dim?str()?As?String?=?Directory.GetDirectories(strPath)

'遞歸遍歷該目錄的子文件夾

For?i?=?0?To?str.GetUpperBound(0)

AddDirectory(strPath,?str(i),?Mynode)

Next

Catch?ex?As?Exception

Debug.WriteLine(ex.Message)

End?Try

Mynode?=?Nothing

End?Sub

'根據(jù)給出的盤符添加目錄樹

Private?Sub?AddRootDirectory(ByVal?DiscSymbol?As?String)

Dim?Nynode?As?New?TreeNode

'先把磁盤盤符添加到樹中

TreeView1.Nodes.Clear()

Nynode.ImageIndex?=?0

Nynode.Text?=?DiscSymbol

Nynode.SelectedImageIndex?=?-1

TreeView1.Nodes.Add(Nynode)

Dim?i?As?Integer

'獲取磁盤根目錄下的文件夾

Dim?str()?As?String?=?Directory.GetDirectories(DiscSymbol??"\")

For?i?=?0?To?str.GetUpperBound(0)

'調(diào)用遞歸過程遍歷該文件夾里的所有子文件夾,并添加到樹型控件

AddDirectory(DiscSymbol,?str(i),?Nynode)

Next

Nynode?=?Nothing

End?Sub

Private?Sub?ComboBox1_SelectedIndexChanged(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?ComboBox1.SelectedIndexChanged

'根據(jù)磁盤符號的變更,顯示根目錄里的文件

ListBox1.Items.Clear()

For?Each?MyFile?As?String?In?System.IO.Directory.GetFiles(ComboBox1.Text)

ListBox1.Items.Add(MyFile)

Next

'根據(jù)磁盤符號的變更,重新顯示目錄樹

Dim?DiscSymbol?As?String

DiscSymbol?=?Microsoft.VisualBasic.Left(ComboBox1.Text,?Len(ComboBox1.Text)?-?1)

Call?AddRootDirectory(DiscSymbol)

End?Sub

'遞歸過程根據(jù)子目錄尋找上級目錄名--從而構(gòu)成完整的目錄路徑

Private?Sub?AllPath(ByVal?ThisNode?As?TreeNode,?ByRef?MyPathName?As?String)

If?ThisNode.Level??1?Then

'該節(jié)點層數(shù)大于1,其父節(jié)點不是磁盤根目錄

MyPathName?=?ThisNode.Parent.Text??"\"??MyPathName

Dim?MyNode?As?TreeNode?=?ThisNode.Parent

Call?AllPath(MyNode,?MyPathName)

Else

'該節(jié)點層數(shù)等于1,其父節(jié)點就是磁盤根目錄

MyPathName?=?ComboBox1.Text??MyPathName

End?If

End?Sub

Private?Sub?TreeView1_AfterSelect(ByVal?sender?As?System.Object,?ByVal?e?As?System.Windows.Forms.TreeViewEventArgs)?Handles?TreeView1.AfterSelect

'為了搜索選中的節(jié)點對應目錄的文件,需要組成全路徑

Dim?MyAllPathName?As?String?=?TreeView1.SelectedNode.Text

Dim?MyNode?As?TreeNode?=?TreeView1.SelectedNode

If?TreeView1.SelectedNode.Level?=?0?Then

'如果選中的是根節(jié)點

MyAllPathName?=?ComboBox1.Text

Else

'如果選中的是非根節(jié)點,調(diào)用遞歸過程組成全路徑

Call?AllPath(MyNode,?MyAllPathName)

MyAllPathName?=?MyAllPathName??"\"

End?If

'根據(jù)路徑,搜索文件名并顯示

ListBox1.Items.Clear()

For?Each?MyFile?As?String?In?System.IO.Directory.GetFiles(MyAllPathName)

ListBox1.Items.Add(MyFile)

Next

End?Sub

End?Class

VB.net 獲取控件句柄

Dim hwnd0 As Integer

Dim hwnd11 As Integer

第二個是你要生成EXE后 運行EXE

第三就是沒好像沒有文本框控件

vb.net如何通過窗口句柄顯示窗口

首先聲明一下API

在你窗口最頂?shù)奈恢蒙蠈懮?/p>

Private Declare Function 取窗口句柄 Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

'由于VB支持中文的 我就定義成 取窗口句柄 這個了

'在窗體中添加一個按鈕里面放進下面代碼就OK了

Private Sub Command1_Click()

Dim 窗口句柄 As Long '聲明窗口句柄變量存儲

窗口句柄 = 取窗口句柄(vbNullString, "新建 文本文檔.txt - 記事本") '取窗口標題的句柄 把得到窗口標題句柄賦予給剛才 窗口句柄 這變量里

If 窗口句柄 = 0 Then '判斷窗口句柄是否等于0 如果等于0表示無法找到窗口句柄

MsgBox "無法找到需要的窗口句柄"

Else

MsgBox "已找到窗口句柄 句柄數(shù)為:" 窗口句柄

End If

End Sub

文章題目:vb.nethwnd的簡單介紹
轉(zhuǎn)載源于:http://muchs.cn/article6/dogieog.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設、服務器托管、關鍵詞優(yōu)化、面包屑導航、微信公眾號、電子商務

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設網(wǎng)站維護公司