在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

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

向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.

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

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 污视频在线观看免费网站| 女人床在线观看| 亚洲午夜精品久久久久久人妖| 不卡中文字幕在线观看| 污污的网站18| 韩国中文字幕av| 天天综合网日韩| 亚洲妇熟xx妇色黄蜜桃| 艳母动漫在线免费观看| 国产激情在线看| 免费拍拍拍网站| 久久精品午夜福利| 中文字幕第17页| 色哟哟免费网站| 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 亚洲成人av免费看| 亚洲成人福利在线| 日本丰满少妇黄大片在线观看| 亚洲一区二区图片| 久久av综合网| 熟女人妇 成熟妇女系列视频| 欧美婷婷精品激情| 妞干网这里只有精品| 欧美人成在线观看| 日本久久久久久久久久久久| 在线观看av免费观看| 欧美亚洲黄色片| 波多野结衣xxxx| 妺妺窝人体色www看人体| 国产偷人视频免费| 欧美一级视频在线| 玩弄中年熟妇正在播放| 男女视频在线看| 国产美女在线一区| 91女神在线观看| 99精品在线免费视频| 中文字幕剧情在线观看| 日本中文字幕网址| 二级片在线观看| 伊人国产在线视频| 黄色一级片播放| 国产精品入口免费软件| 久久综合九色综合88i| 免费av网址在线| 色呦呦网站入口| 日本精品久久久久中文字幕| 欧美大片免费播放| 色片在线免费观看| 92看片淫黄大片一级| 丰满女人性猛交| 一区二区免费av| 免费男同深夜夜行网站| 欧美大片在线播放| 日本免费成人网| 黄色一级视频播放| 国产又粗又长又爽又黄的视频| 欧美 国产 综合| 无码中文字幕色专区| japanese在线播放| 成人毛片100部免费看| 91丝袜超薄交口足| 一级片免费在线观看视频| 亚洲精品午夜在线观看| 国产一区二区在线免费播放| 久久国产成人精品国产成人亚洲| 日韩人妻精品一区二区三区| 911福利视频| 天堂av.com| 黄色影视在线观看| 女人被男人躁得好爽免费视频| www.51色.com| 日韩视频 中文字幕| 99re6这里有精品热视频| 亚洲天堂第一区| 日韩免费视频播放| 国产主播中文字幕| 美女在线视频一区二区| av不卡在线免费观看| 欧美极品少妇无套实战| 国产97在线 | 亚洲| 日本www.色| 在线成人免费av| 青青青青草视频| 国产视频一区二区视频| 在线免费看v片| 白白操在线视频| 精品久久久久久无码国产| 日本高清久久久| 蜜桃网站在线观看| 精品免费国产一区二区| 亚洲美女爱爱视频| 成人午夜视频免费观看| 免费在线观看的毛片| 91欧美一区二区三区| 成人毛片一区二区| 在线看的黄色网址| 无码人妻少妇伦在线电影| 日本激情视频在线播放| 中文字幕色呦呦| 五月婷婷激情久久| 日本免费a视频| 中文字幕第一页在线视频| 日韩欧美国产综合在线| 色网站在线视频| 国产成人久久婷婷精品流白浆| 国产一伦一伦一伦| 99久久国产综合精品五月天喷水| 少妇网站在线观看| 国产男女免费视频| av中文字幕av| 亚洲77777| 欧美极品欧美精品欧美图片| 亚洲综合在线一区二区| 啊啊啊国产视频| 日韩人妻精品无码一区二区三区| 久久久久久久久久久久久久久国产| 免费国产a级片| 无码人妻精品一区二区蜜桃百度| 亚洲三级视频网站| 97视频在线免费播放| 嫩草影院中文字幕| 路边理发店露脸熟妇泻火| 中文久久久久久| 国产一区视频免费观看| 国产 福利 在线| 黄色www网站| 久久国产精品视频在线观看| 中文字幕在线中文| 国产911在线观看| 777久久精品一区二区三区无码 | 青青草原av在线播放| 国产天堂视频在线观看| 久操手机在线视频| 成人午夜免费在线视频| 亚洲国产精品无码观看久久| 4444在线观看| 国产九九九九九| 欧美v在线观看| 欧美自拍小视频| 亚洲三级在线观看视频| 婷婷激情综合五月天| 国产系列第一页| 白白操在线视频| 成年人观看网站| 天天干天天草天天| 黄色影视在线观看| 九色自拍视频在线观看| 日韩人妻精品无码一区二区三区| 欧在线一二三四区| 久久久精品视频国产| 成人在线播放网址| 国产成人av影视| 黄色免费高清视频| 2018国产在线| 欧美激情第3页| 成年人看的毛片| 九九九在线观看视频| 玖玖精品在线视频| 农村妇女精品一二区| 午夜免费福利网站| 精品国产一区三区| 欧美日韩精品区别| 久久这里只有精品23| 亚洲这里只有精品| 野外做受又硬又粗又大视频√| 日本成人在线免费视频| 蜜桃视频成人在线观看| 男女曰b免费视频| 手机看片日韩国产| 国产精品久久久毛片| 欧美黄色免费网址| 91 视频免费观看| 国产三区在线视频| 免费网站永久免费观看| 色婷婷.com| 午夜精品久久久内射近拍高清| 91网址在线观看精品| wwwxxx黄色片| 日韩精品视频在线观看视频 | 免费cad大片在线观看| 日韩欧美国产片| 欧美极品欧美精品欧美| 激情五月六月婷婷| 欧美成人手机在线视频| 成人3d动漫一区二区三区| 精品少妇人欧美激情在线观看| 手机在线视频一区| 自拍偷拍21p| 午夜精品在线免费观看| www..com日韩| 无码日本精品xxxxxxxxx| 香蕉精品视频在线| 一级一片免费播放| 日韩av片专区| 女同激情久久av久久| www.污污视频| 午夜激情视频网| 可以免费看的黄色网址| aaa免费在线观看| 久久综合亚洲精品|