国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

向Visual Basic程序員介紹My命名空間(二)

向Visual Basic程序員介紹My命名空間(二)

更新時間:2022-04-30 文章作者:未知 信息來源:網絡 閱讀次數:

My.Computer
My的另一個功能塊是Computer對象。My.Computer對象可以讓你訪問系統底層和應用程序所在硬件平臺的信息。示例應用程序的第二個選項卡展示了你在My.Computer對象中能找到的有趣屬性。



圖三

My.Computer 選項卡

控制這個網格的代碼如下:

myAppDS.MyComputer.AddMyComputerRow("Clock", _

My.Computer.Clock.LocalTime)

myAppDS.MyComputer.AddMyComputerRow("GMT Time", _

My.Computer.Clock.GmtTime)

myAppDS.MyComputer.AddMyComputerRow("Tick Count", _

My.Computer.Clock.TickCount)

myAppDS.MyComputer.AddMyComputerRow("GMT Time", _

My.Computer.EventLogs.Item("Application").ReadEntries().Item(1).Message)

myAppDS.MyComputer.AddMyComputerRow("CRTL Key Down", _

My.Computer.Keyboard.CtrlKeyDown.ToString())

myAppDS.MyComputer.AddMyComputerRow("Button Count", _

My.Computer.Mouse.ButtonCount)

myAppDS.MyComputer.AddMyComputerRow("Buttons Swapped", _

My.Computer.Mouse.ButtonsSwapped)

myAppDS.MyComputer.AddMyComputerRow("Mouse Exists", _

My.Computer.Mouse.Exists.ToString())

myAppDS.MyComputer.AddMyComputerRow("Wheel Scroll Lines", _

My.Computer.Mouse.WheelScrollLines.ToString())

myAppDS.MyComputer.AddMyComputerRow("Wheel Exists", _

My.Computer.Mouse.WheelExists)

myAppDS.MyComputer.AddMyComputerRow("Computer Name", _

My.Computer.Name)

myAppDS.MyComputer.AddMyComputerRow("Connection Status", _

My.Computer.Network.ConnectionStatus)

myAppDS.MyComputer.AddMyComputerRow("Connection Status", _

My.Computer.Network.IPAddresses(0).ToString())

myAppDS.MyComputer.AddMyComputerRow("Operating System Platform", _

My.Computer.OperatingSystem.Platform)

myAppDS.MyComputer.AddMyComputerRow("Version", _

My.Computer.OperatingSystem.Version.Major & "." & _

My.Computer.OperatingSystem.Version.Minor & "." & _

My.Computer.OperatingSystem.Version.Revision & "." & _

My.Computer.OperatingSystem.Version.Build)

myAppDS.MyComputer.AddMyComputerRow("Full Name HKEY_CURRENT_USER", _

My.Computer.Registry.CurrentUser.FullName)

myAppDS.MyComputer.AddMyComputerRow("Device Name", _

My.Computer.Screen.DeviceName)

這段代碼與控制My.Application選項卡中的網格控件的代碼非常相似。用一個類型化的數據集來裝載My.Computer對象屬性中獲得的值,并綁定到一個表格控件。

My.Computer對象的元素不是都能夠顯示在表格控件里。下表列出的項目包括沒有在表格控件里顯示的屬性或方法。

My.Computer

屬性/方法 描述

Clock
允許你訪問當前中時區時間和本地時間,以及計數刻度。

EventLogs
允許你訪問本地事件日志信息以及創建或刪除事件日志。

FileSystem
允許你進行許多IO操作,如復制文件、目錄,移動文件、目錄,讀取或寫入文件等。一般情況只需要一行代碼。

Keyboard
允許你獲取當前鍵盤上某些案件的狀態。比如獲取CTRL鍵、SHIFT鍵或ATL鍵是否被按下,或者CAPS LOCK/SCROLL LOCK是否處于打開狀態等。

Mouse
允許你獲取鼠標的狀態以及它所附帶的特定的硬件特征,如有幾個按鍵,是否帶有滾論等。

Name
告訴你當前正運行的本地計算機的名稱。

Network
允許你訪問本地計算機的IP地址信息,本地計算機的連接狀態,還有Ping一個地址的功能。

Operating System
允許你訪問本地計算機平臺和版本的信息。

Registry
允許你訪問注冊表,并提供讀取和寫入注冊表的功能。

Screen
允許你訪問系統附帶的監視器以及顯示屬性,如BitsPerPixel和WorkingArea等。


My.Computer在開發中的相關應用

My.Computer提供給你很多訪問系統底層的功能,你可以用在很多方面。比如你可以用Network屬性和其相關的Ping、PingWithDetails方法輕易地Ping一個網絡地址。

Dim pingResult As Microsoft.VisualBasic.Net.PingResult = _

My.Computer.Network.PingWithDetails("www.3leaf.com")

If pingResult.PingSuccesses > 0 Then

Dim pingDetails As String = "Average Ping Time in MS: " & _

ingResult.AveragePingTimeInMilliseconds & vbCrLf & _

"Bytes Received: " & pingResult.BytesReceived.ToString() & vbCrLf & _

"IP Address: " & pingResult.IPAddress.ToString() & vbCrLf &_

"Ping Attempts: " & pingResult.PingAttempts.ToString() & vbCrLf & _

"Ping Successes: " & pingResult.PingSuccesses.ToString()

MessageBox.Show(pingDetails)

Else

MessageBox.Show("Ping of www.3leaf.com was not successful")

End If

這段代碼最關鍵的部分是My.Computer.Network.PingWithDetails()。這行代碼返回一個PingResult對象,其中包含了標準Ping動作所返回的數據。如果最少一次Ping操作成功的話,平均響應時間,獲得的字節數,總Ping數目和成功數目都會顯示在一個消息框中。My.Computer.Network還提供一個簡化版的Ping,只返回True或False以示Ping成功與否。像這樣Ping一個地址的功能可以讓你方便地確定是否能與服務器正式建立通信。通過使用My.Computer.Network.ConnectionStatus,你還可以方便地確定當前網絡連接的狀態。ConnectionStatus屬性根據計算機現在是否有網絡連接而返回True或False。

My.Computer另一個很好的應用是在需要訪問文件系統的時候。My.Computer.FileSystem提供給你更好的訪問文件系統的方法,所需的代碼比用VB.NET來實現更少。用My.Computer.FileSystem,你可以只用一行代碼完成下列任務。

· 在文件后面附加文本。

· 從文件中讀取所有文本。

· 復制文件夾時創建所有完整路徑所需的父文件夾。

· 移動文件夾時創建所有完整路徑所需的父文件夾。

你還能用Microsoft.VisualBasic.FileIO命名空間中的類型簡化文件夾、文件和驅動器的操作。這些類型一般都是My.Computer.FileSystem對象的屬性和方法返回的類型。

下面的例子是用My在文件末尾附加文本所需的全部代碼。

My.Computer.FileSystem.AppendText(filePath, “Hello from " & _
“My.Computer.FileSystem”)

如果你想讀取一個文件的全部文本,只需下列代碼即可做到。

My.Computer.FileSystem.ReadAllText(filePath)

復制和移動文件夾變得非常容易。

My.Computer.FileSystem.CopyFolder(sourcePath, targetPath, True, True)

上面這行代碼將文件夾從sourcePath復制到targetPath。最后兩個布爾型參數指定targetPath是否要覆蓋已經存在的文件夾以及指定是否需要創建所需的父文件夾。

剛才提到過FileSystem對象的許多屬性和方法都可以返回Drive、Folder或File類型的對象。這些Microsoft.VisualBasic.FileIO名字空間中的對象封裝了許多新的屬性和方法,可以讓一般的編程工作得到簡化。比如可以用一行代碼可以取得“我得文檔”文件夾所在的驅動器。

My.Computer.FileSystem.SpecialFolders.MyDocuments.Drive.DriveName

更重要的是你可以獲得“我得文檔”文件夾所在的驅動器所剩余的磁盤空間。

My.Computer.FileSystem.SpecialFolders.MyDocuments.Drive.FreeSpace

用文件對象對特定文件或文件夾的操作同樣非常容易。比如你可以用一行代碼輕松地重名名文件。

My.Computer.FileSystem.SpecialFolders.MyDocuments.Drive.FreeSpace

My.User
My名字空間的下一個功能塊是User對象。My.User對象允許你獲取當前登錄用戶的信息如用戶名,域名,以及查詢他們所屬的組群。



圖 3

My.User 選項卡

控制表格控件的代碼如下:

myAppDS.MyUser.AddMyUserRow("Display Name", _

My.User.DisplayName)

myAppDS.MyUser.AddMyUserRow("Domain Name", _

My.User.DomainName)

myAppDS.MyUser.AddMyUserRow("User Name", _

My.User.UserName)

myAppDS.MyUser.AddMyUserRow("Windows Role", _

My.User.WindowsRoles(0).ToString())

這段代碼訪問了當前用戶的信息,這非常簡單。你要做的所有事情就是訪問User對象的屬性。User對象是由下列屬性或方法組成的。

My.User

屬性/方法 描述

DisplayName
允許你訪問當前登錄用戶的顯示名稱。

DomainName
允許你訪問當前登錄用戶所屬的域名,如果他屬于某個域的話。

IsInRole
允許你查詢用戶是否屬于一個特定的角色。

UserName
允許你訪問當前登錄用戶的用戶名。

WindowsRole
WindowsRole是一個包含當前登錄用戶帳號所屬的全部角色/組群信息的集合。


My.User在開發中的相關應用

My.User能夠給你相當多的關于當前登錄用戶的信息。在很多方面,My所提供的User對象都是學習或使用.NET Framework的絕佳捷徑之一。

在以前版本的.NET Framework中,如果你想訪問類似My.User所提供的功能,你必須寫下面這么多代碼。

Imports System.Security.Principal

Imports System.Threading.Thread



Dim winPrin As WindowsPrincipal = Thread.CurrentPrincipal

MessageBox.Show(winPrin.Identity.Name)

或者你得寫成這樣

MessageBox.Show(System.Threading.Thread.CurrentPrincipal.Identity.Name)

但是,在使用了My之后就變得如此直觀。

My.User.UserName

這是一個用My簡化對.NET Framework操作的一個經典例子。很多開發人員第一次面對Framework時,不會本能地想到要從Principal對象或從當前線程取得進程身份才能獲得當前登錄的用戶的帳號名稱。很多開發人員以為這種信息肯定是在更高級的抽象層次上才能得到。現在用My,獲取這種信息既簡單又快速。

My.WebServices和 My.Forms
接下來你將要學到 My命名空間另外兩個主要功能,它們是My.WebServices和My.Forms。在進入這一節之前,我們先做一個簡短的概述。

My.WebServices讓你可以用和訪問數據源一樣簡單的語法訪問在項目中引用的Web服務。

dgOrders.DataSource = _

My.WebServices.Northwind.GetOrders().Tables("Orders")

如果用.NET Framework 1.0/1.1,要想做到上面那行代碼的功能,你必須創建一個WebService的實例。用這種My.WebServices提供的功能可以快捷訪問所有添加到Web引用的Web服務。

最后一個重點My.Form將帶回一種在Visual Basic桌面程序中出現,并暫時消失在VB.NET中的標志性的編程風格。如果你曾經用VB6開發過,你肯定知道下面這種代碼,如果你的項目需要顯示某個窗體:

Form2.Show

在VB.NET時代,你不能再用這種簡單的語法了。在VB.NET中只能用下列代碼顯示一個窗體。

Dim frm1 As New Form1()

frm1.Show()

使用My.Forms,項目中所有的窗體都變成Forms集合的成員。另外如果你想訪問某個窗體默認的實例,你根本不需要使用My.Forms。就是說下面的代碼是等價的。

My.Forms.Form2.Show()

Form2.Show()

在接下來的章節里,你將學到更多用此方法顯示窗體的功能(譯注:可惜我們看不到了)。

如果你想看一些My.WebServices和My.Forms的例子,你可以看看示例程序相關的選項卡。所有這些工能將在本書的后邊詳細地敘述。(本文檔只是此書的樣章,所以到此為止了,想看后面請到亞馬孫書店購買此書)

結論

My命名空間對于一個開發人員來說主要有四項功能。首先它提供很多了以前版本的.NET Framework沒有的功能。第二,它提供了很多快速訪問.NET Framework的BCL的快捷方式。第三,在一定程度上,它讓你想問題時能將“計算機”類的詞當作邏輯實體來操作。第四,它讓一些你熟悉的舊語法回歸到了Visual Basic中,比如Form1.

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        国产精品久久影院| 中文字幕av免费专区久久| 91视频xxxx| 国产精品第四页| 91小视频在线免费看| 亚洲精品一卡二卡| 欧美日韩激情一区二区| 蜜桃视频第一区免费观看| 日韩欧美国产小视频| 久久超碰97中文字幕| 欧美激情艳妇裸体舞| 色哟哟在线观看一区二区三区| 亚洲在线观看免费视频| 欧美一区二区三区视频免费播放| 激情五月婷婷综合网| 国产精品视频你懂的| 欧美探花视频资源| 精品一区二区三区欧美| 欧美国产激情二区三区| 在线观看日韩毛片| 另类小说色综合网站| 综合久久久久久| 91精品国产综合久久精品| 成人一区二区三区视频在线观看| 亚洲一区精品在线| 欧美精品一区二区蜜臀亚洲| 色一情一伦一子一伦一区| 狠狠久久亚洲欧美| 亚洲成av人片www| 国产精品女同一区二区三区| 欧美一卡在线观看| 日本高清成人免费播放| 国产精品影视在线| 奇米精品一区二区三区四区| 亚洲美女少妇撒尿| 国产欧美视频一区二区| 日韩精品资源二区在线| 欧美日韩精品系列| 日本道精品一区二区三区| 国产成人av一区二区| 欧美aa在线视频| 亚洲一区在线观看免费观看电影高清| 国产精品久久久久桃色tv| 久久久另类综合| 精品女同一区二区| 91麻豆精品久久久久蜜臀 | 久久精品无码一区二区三区| 欧美三级中文字| 99这里都是精品| 丁香另类激情小说| 国产成人精品一区二| 精品一区二区三区久久| 日本美女一区二区三区视频| 亚洲小说春色综合另类电影| 亚洲综合免费观看高清完整版在线| 中文av字幕一区| 欧美激情艳妇裸体舞| 欧美激情一区二区三区蜜桃视频| 亚洲精品一区二区三区99| 精品日韩一区二区| www激情久久| 国产丝袜欧美中文另类| 欧美激情中文字幕一区二区| 国产欧美日韩亚州综合| 国产欧美日产一区| 国产精品蜜臀av| 亚洲人成电影网站色mp4| 亚洲免费在线电影| 亚洲一区二区三区四区五区中文| 亚洲综合免费观看高清完整版| 亚洲一级片在线观看| 亚洲成av人综合在线观看| 亚洲第一搞黄网站| 蜜臀av在线播放一区二区三区| 免费在线观看一区二区三区| 狠狠色丁香婷婷综合| 成人网在线播放| 一本色道亚洲精品aⅴ| 欧美日韩情趣电影| 日韩欧美中文一区二区| 国产亚洲一区二区三区在线观看 | 成人av在线一区二区三区| 不卡的av网站| 欧美中文字幕一二三区视频| 欧美一二三四区在线| 国产调教视频一区| 一区二区三区电影在线播| 石原莉奈在线亚洲三区| 激情偷乱视频一区二区三区| av一二三不卡影片| 日韩午夜av一区| 自拍偷拍国产精品| 蜜桃一区二区三区在线| 91色|porny| 亚洲精品在线三区| 亚洲一级电影视频| 国产乱码精品1区2区3区| 91麻豆精东视频| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲婷婷在线视频| 久久国产欧美日韩精品| 91原创在线视频| 久久噜噜亚洲综合| 日韩一区精品视频| 色欧美片视频在线观看在线视频| 欧美www视频| 天天色综合成人网| 成人av网站在线| 26uuu另类欧美亚洲曰本| 亚洲一区二区三区爽爽爽爽爽 | 国产婷婷色一区二区三区四区| 一区二区三区四区五区视频在线观看| 久久www免费人成看片高清| 91麻豆国产在线观看| 久久久不卡影院| 老鸭窝一区二区久久精品| 欧美中文一区二区三区| 中文字幕中文字幕一区二区| 久草在线在线精品观看| 制服丝袜av成人在线看| 亚洲制服丝袜av| 色伊人久久综合中文字幕| 国产精品网站在线观看| 国产乱淫av一区二区三区| 日韩一二在线观看| 日韩 欧美一区二区三区| 欧美羞羞免费网站| 亚洲精品欧美在线| 91蝌蚪porny成人天涯| 国产精品每日更新在线播放网址| 国产精品亚洲第一| 久久综合色婷婷| 国产精品99久久久久久似苏梦涵| 精品88久久久久88久久久| 激情五月激情综合网| 久久久蜜桃精品| 成人在线一区二区三区| 中文字幕一区二区三| voyeur盗摄精品| 成人欧美一区二区三区视频网页| 不卡免费追剧大全电视剧网站| 亚洲国产精品ⅴa在线观看| 成人毛片在线观看| 亚洲激情在线激情| 欧美精品一级二级| 毛片基地黄久久久久久天堂| 精品成人一区二区三区| 国产91精品露脸国语对白| 国产精品青草综合久久久久99| 99久久夜色精品国产网站| 一区二区三区精品久久久| 欧美高清精品3d| 激情文学综合网| 亚洲欧洲另类国产综合| 欧美三级午夜理伦三级中视频| 日韩二区三区四区| 久久久久久久久久久电影| 99久久国产综合精品色伊| 亚洲国产精品一区二区尤物区| 欧美一区二区三区系列电影| 国产精品18久久久久| 亚洲情趣在线观看| 日韩一级二级三级| 99久久伊人网影院| 偷拍一区二区三区| 国产人成一区二区三区影院| 在线免费观看日韩欧美| 精油按摩中文字幕久久| 1024成人网色www| 在线播放91灌醉迷j高跟美女| 精品无人码麻豆乱码1区2区| 自拍视频在线观看一区二区| 欧美一级免费大片| av一区二区三区| 久热成人在线视频| 亚洲人成7777| 国产三级精品三级在线专区| 欧美日韩亚州综合| 成人午夜av影视| 美女mm1313爽爽久久久蜜臀| 亚洲色图色小说| 精品少妇一区二区三区在线播放| 色综合久久久久久久久| 国产一区二区伦理| 日韩国产精品久久久久久亚洲| 欧美高清在线一区二区| 日韩视频免费观看高清完整版 | 欧美日韩国产一级片| 国产91精品一区二区| 日韩影院精彩在线| 亚洲人成小说网站色在线| 久久精品欧美一区二区三区不卡 | 国产精品美女一区二区| 欧美另类久久久品| 一本一道久久a久久精品| 国产成人在线网站| 国产在线视频一区二区| 免费高清成人在线| 丝瓜av网站精品一区二区| 亚洲曰韩产成在线|