国产午夜成人免费看片无遮挡_日本免费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>

        亚洲女子a中天字幕| 波多野结衣一区二区三区 | 免费一级片91| 日韩色视频在线观看| 免费看日韩精品| 精品女同一区二区| 国产成人h网站| 亚洲精品自拍动漫在线| 在线免费观看视频一区| 亚洲高清视频在线| 精品国产乱码久久久久久牛牛 | 亚洲韩国精品一区| 欧美妇女性影城| 国产一区二区在线视频| 国产精品国产a级| 欧美丝袜丝交足nylons图片| 裸体在线国模精品偷拍| 国产欧美精品区一区二区三区 | 日韩av在线播放中文字幕| 精品久久久久久久久久久久久久久久久| 国产成人精品免费| 亚洲一区在线看| 久久久久国产精品免费免费搜索| 97成人超碰视| 蜜臀av一区二区三区| 国产精品色一区二区三区| 欧美日韩三级一区二区| 国产成人综合网| 日韩精品91亚洲二区在线观看| 久久精品视频一区| 欧美乱妇15p| gogo大胆日本视频一区| 美国av一区二区| 亚洲欧美乱综合| 欧美国产欧美综合| 日韩欧美一级精品久久| 在线免费观看视频一区| gogo大胆日本视频一区| 国产乱理伦片在线观看夜一区| 亚洲成av人片在www色猫咪| 国产午夜精品美女毛片视频| 欧美情侣在线播放| 91国产成人在线| 国产成人99久久亚洲综合精品| 日韩有码一区二区三区| 18涩涩午夜精品.www| 久久综合色鬼综合色| 欧美一级艳片视频免费观看| 欧美在线影院一区二区| 成人午夜av电影| 国产精品一品视频| 精品中文字幕一区二区| 琪琪一区二区三区| 无吗不卡中文字幕| 亚洲成a人在线观看| 亚洲精品乱码久久久久久黑人| 国产精品免费网站在线观看| 国产日产精品1区| 26uuu亚洲婷婷狠狠天堂| 日韩欧美一级二级| 欧美一区二区三区色| 欧美精品丝袜久久久中文字幕| 7777精品伊人久久久大香线蕉超级流畅 | 色综合 综合色| 91啪在线观看| 91麻豆精品在线观看| 97久久精品人人澡人人爽| 成人午夜电影网站| www.性欧美| 91色九色蝌蚪| 欧美色电影在线| 欧美三级资源在线| 91精品国产综合久久精品app| 欧美浪妇xxxx高跟鞋交| 日韩欧美在线网站| 国产日韩亚洲欧美综合| 国产精品九色蝌蚪自拍| 亚洲免费观看高清| 亚洲第一会所有码转帖| 免费看精品久久片| 国产成人免费视频网站| 91一区二区三区在线观看| 欧美日韩一区视频| 26uuu国产电影一区二区| 欧美国产日本韩| 亚洲v日本v欧美v久久精品| 美女一区二区视频| 国产精品一区二区久激情瑜伽| 91视频观看免费| 精品国产乱码久久久久久夜甘婷婷 | 成人黄色小视频| 欧美影院一区二区三区| 日韩欧美激情一区| 中文字幕免费不卡在线| 亚洲一区欧美一区| 久久国产麻豆精品| 99久久综合精品| 日韩欧美一级二级| 亚洲免费观看高清| 国产一区久久久| 欧洲一区在线电影| 久久亚洲私人国产精品va媚药| 一区二区免费在线| 国产乱码精品1区2区3区| 欧美日本免费一区二区三区| 国产日韩精品一区二区三区 | 国产九九视频一区二区三区| 91一区二区三区在线播放| 91精品国产91综合久久蜜臀| 亚洲婷婷在线视频| 国产美女在线精品| 91精选在线观看| 中文字幕一区视频| 国产一二三精品| 日韩欧美国产一区二区三区| 亚洲精品乱码久久久久| 国产毛片精品视频| 欧美成人一级视频| 日韩中文字幕1| 欧美少妇xxx| 国产精品黄色在线观看| 日韩av一二三| 精品国产乱码91久久久久久网站| 一区二区三区高清不卡| 亚洲精品福利视频网站| 亚洲午夜在线观看视频在线| 成人综合婷婷国产精品久久蜜臀| 日韩一区二区电影| 日韩精品一级中文字幕精品视频免费观看 | 91免费观看国产| 国产精品久久久久一区二区三区 | 亚洲国产精品一区二区久久恐怖片 | 欧美韩国一区二区| 国产在线不卡视频| 精品国产凹凸成av人网站| 青青青爽久久午夜综合久久午夜| 欧美亚洲自拍偷拍| 亚洲国产精品久久久久婷婷884| 色婷婷综合久久| 亚洲一区二区三区美女| 欧美三级中文字幕在线观看| 亚洲综合在线观看视频| 欧美自拍丝袜亚洲| 亚洲综合在线电影| 欧美日本高清视频在线观看| 日韩精品亚洲一区| 日韩一区二区精品葵司在线| 美女网站一区二区| 久久众筹精品私拍模特| 国产精品一区在线观看你懂的| 久久久久久久综合日本| www.综合网.com| 亚洲www啪成人一区二区麻豆| 91精品国产综合久久精品性色| 蜜桃av一区二区| 国产午夜精品在线观看| 一本色道久久综合亚洲91| 亚洲一区二三区| 日韩欧美黄色影院| 不卡av免费在线观看| 亚洲综合色丁香婷婷六月图片| 欧美日韩精品一二三区| 极品销魂美女一区二区三区| 国产精品色噜噜| 91麻豆精品国产91久久久资源速度| 久久国产精品色婷婷| 综合激情成人伊人| 欧美日韩高清一区二区三区| 国产在线精品一区二区不卡了| 国产精品久久久久毛片软件| 欧美老女人在线| 99久久99久久精品免费观看| 日韩不卡一二三区| 亚洲品质自拍视频网站| 精品国产乱码久久久久久影片| 欧美亚洲禁片免费| 成人永久aaa| 日本久久电影网| 另类欧美日韩国产在线| 亚洲日本欧美天堂| 久久精品视频一区二区三区| 在线观看91av| 色婷婷综合激情| 国产成人激情av| 久久精品久久久精品美女| 亚洲免费观看高清完整版在线观看| 精品国产乱码久久| 717成人午夜免费福利电影| 99国产精品国产精品毛片| 国产老肥熟一区二区三区| 天天色天天操综合| 中文字幕日韩一区二区| 精品国产一区久久| 91精品国产乱码| 欧美视频中文字幕| 色综合久久综合网欧美综合网| 成人一道本在线| 国产成人超碰人人澡人人澡| 狠狠色综合日日| 日本不卡一二三区黄网|