vb.nethwnd的簡單介紹

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

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

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

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

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

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

2、設置屬性

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

運行圖如下:

完整代碼如下:

Imports?System.IO

Public?Class?Form1

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

'添加系統所有磁盤目錄符號

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)

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

Mynode.ImageIndex?=?1

'為節點指定被選中時顯示的圖標

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

'根據給出的盤符添加目錄樹

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)

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

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

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

ListBox1.Items.Clear()

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

ListBox1.Items.Add(MyFile)

Next

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

Dim?DiscSymbol?As?String

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

Call?AddRootDirectory(DiscSymbol)

End?Sub

'遞歸過程根據子目錄尋找上級目錄名--從而構成完整的目錄路徑

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

If?ThisNode.Level??1?Then

'該節點層數大于1,其父節點不是磁盤根目錄

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

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

Call?AllPath(MyNode,?MyPathName)

Else

'該節點層數等于1,其父節點就是磁盤根目錄

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

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

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

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

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

'如果選中的是根節點

MyAllPathName?=?ComboBox1.Text

Else

'如果選中的是非根節點,調用遞歸過程組成全路徑

Call?AllPath(MyNode,?MyAllPathName)

MyAllPathName?=?MyAllPathName??"\"

End?If

'根據路徑,搜索文件名并顯示

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

在你窗口最頂的位置上寫上

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 "已找到窗口句柄 句柄數為:" 窗口句柄

End If

End Sub

文章題目:vb.nethwnd的簡單介紹
轉載源于:http://m.kartarina.com/article6/dogieog.html

成都網站建設公司_創新互聯,為您提供外貿網站建設服務器托管關鍵詞優化面包屑導航微信公眾號電子商務

廣告

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

網站建設網站維護公司
主站蜘蛛池模板: 精品亚洲A∨无码一区二区三区| 国产精品爽爽V在线观看无码 | 精品高潮呻吟99av无码视频| 久久久久亚洲Av无码专| 亚洲国产精品无码中文lv| 国产成人无码区免费网站| 无码精品国产一区二区三区免费| 久久亚洲AV成人无码电影| 日韩综合无码一区二区| 亚洲午夜无码毛片av久久京东热| 野花在线无码视频在线播放| 亚洲AV无码一区二区三区牲色| 国产精品无码AV一区二区三区| 亚洲AV无码男人的天堂| 无码成A毛片免费| 中国无码人妻丰满熟妇啪啪软件 | 亚洲一本到无码av中文字幕| 精品久久久久久无码人妻蜜桃| 亚洲爆乳无码专区www| 无码专区久久综合久中文字幕| 天堂Aⅴ无码一区二区三区| 亚洲精品无码你懂的| 亚洲中文字幕久久精品无码2021| 国产在线观看无码免费视频| 色视频综合无码一区二区三区| 日韩免费a级毛片无码a∨| av大片在线无码免费| 免费无码毛片一区二区APP| 久久久久亚洲Av片无码v| 97无码人妻福利免费公开在线视频| 日韩A无码AV一区二区三区| 无码人妻精品丰满熟妇区| 亚洲国产精品无码久久| 亚洲爆乳大丰满无码专区| 亚洲另类无码专区首页| 人妻在线无码一区二区三区| 亚洲av中文无码字幕色不卡| AV无码免费永久在线观看| 国产AV无码专区亚洲AV麻豆丫| 亚洲av无码av在线播放| 国产精品va无码二区|