Console类浅谈
生活随笔
收集整理的這篇文章主要介紹了
Console类浅谈
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
控制臺有兩個關系緊密的功能,也就是屏幕緩沖區和控制臺窗口;
??????? 屏幕緩沖區:文本實際上是從控制臺擁有的流進行讀取和寫入的,但看起來像是在控制臺擁有的一個區域中進行讀取和寫入,這個區域就 稱為屏幕緩沖區;它是控制臺的一個屬性,以由行和列組成的矩形網格形式來進行組織,其中每個網格交叉位置(字符單元格)都可以包含一 個字符。而且每個字符都有自己的前景色,其中每個字符單元格都有自己的背景色;
??????? 控制臺窗口:它的本質就是一窗體,它也以行和列的形式進行組織,其大小與屏幕緩沖區相同或者更小,該窗口可以進行移動以查看屏幕 緩沖區的不同區域。其中如果屏幕緩沖區比控制臺窗口大,控制臺會自動顯示滾動條,以使控制臺窗口可以在屏幕緩沖區上重新定位;
?????? 屏幕緩沖區可以通過控制臺窗口的矩形區域查看;
?????? 光標:指指示屏幕緩沖區中當前正在讀取或寫入文本的位置(它可以同過CursorLeft和CursorTop來獲取其相對于屏幕左上角的列數[即x坐 標]和行數[即y坐標]);
?????? 注:CursorLeft和CursorTop(int類型的值)的數值是隨著光標的位置的改變而不斷發生變化的;其中方法:public static void SetCursorPosition(int left,int top)用來設置光標的位置;(如果用console[控制臺]來模擬計算器時,其顯示欄的數據的顯示需要用到這 個方法);
??????? Console類是一個靜態的類,故其方法也都為靜態的
下面我們來了解下console類的方法和屬性:
???????? 已重載:Beep():通過控制臺揚聲器播放提示音
????????????????????????? Beep(Int32,Int32):通過控制臺揚聲器播放具有指定頻率和持續時間的提示音(其中聲音持續時間的單位是ms[毫秒])
?????? ?void Clear():清除控制臺緩沖區和相應的控制臺窗口的顯示信息;
?????? 已重載:MoveBufferArea(Int32,Int32,Int32,Int32,Int32,Int32):將屏幕緩沖區的指定原區域復制到指定的目標區域;
?????????????????????? ?MoveBufferArea(Int32, Int32, Int32, Int32, Int32, Int32,Char,ConsoleColor, ConsoleColor) :將屏幕緩沖區的指定原區域復制到指定的目標區域;(方法中的參數列表不同)
???? 已重載:OpenstandardError():獲取標準錯誤流;
?????????????????????? OpenStandardError(Int32):獲取設置為指定緩沖區大小的標準錯誤流
??????int Read():從標準輸入流讀取下一個字符
??? 已重載:ReadKey():獲取用戶按下的下一個字符或功能鍵,按下的鍵顯示在控制臺窗口中
??????????? ReadKey(Boolean):獲取用戶按下的下一個字符或功能鍵,按下的可以懸著顯示在控制臺窗口中,也可以不顯示;
???? string ReadLine():從標準輸入流讀取下一行字符;
?????void ResetColor():將控制臺的前景色和背景色設置為默認值
???? void SetBufferSize(int width,int height):將屏幕緩沖區的高度和寬度設置為指定值
???? void SetCursorPosition(int left,int top):設置光標的位置
?????void SetWindowPosition(int left,int top):設置控制臺窗口相對于屏幕緩沖區的位置
?????void SetWindowSize(int width,int height):將控制臺窗口的高度和寬度設置為指定值
??? 已重載:var Write(var value):將指定值的文本表示形式寫入標準輸出流
??? 已重載:var WriteLine(var value):將指定的數據(后跟當前行終止符)寫入標準輸出流
屬性:
??? BackgroundColor:獲取或設置控制臺的背景色;
??? BufferHeight:獲取或設置緩沖區的高度;
??? BufferWidth:獲取或設置緩沖區的快讀;
??? CapsLock:獲取一個值,該值指示CapsLock鍵盤切換鍵是打開的還是關閉的
??? CursorLeft:獲取或設置光標的在緩沖區的列位置;
??? CursorTop:獲取或設置光標在緩沖區中的行位置;
??? CursorVisible:獲取或設置一個值,用以指示光標是否可見;
??? Error:獲取標準錯誤輸出流;
??? ForegroundColor:獲取或設置控制臺的前景色;
??? In:獲取標準輸入流;
??? InputEncoding:獲取或設置控制臺用于度曲輸入的編碼;
??? KeyAvailable:獲取一個值,該值指示按鍵操作在輸入流中是否可用;
??? LargestWindowHeight:根據當前字體和屏幕分辨率獲取控制臺窗口可能具有的最大行數;
??? LargestWindowWidth:根據當前字體和屏幕分辨率獲取控制臺窗口可能具有的最大列數;
??? NumberLock:獲取一個值,該值指示NumLock鍵盤切換鍵是打開的還是關閉的;
??? Out:獲取標準輸出流
??? OutputEncoding:獲取或設置控制臺用于寫入輸出的編碼;
??? Title:獲取或設置要顯示在控制臺標題欄中的標題;
??? TreatControlAsInput:獲取或設置一個值,該值指示是將修改鍵Control和控制臺鍵C的組合視為普通輸入,還是視為由操作系統處理的中 斷;
??? WindowHeight:獲取或設置控制臺窗口區域的高度;
??? WindowLeft:獲取或設置控制臺窗口區域的最左邊相對于屏幕緩沖區的位置;
??? WindowTop:獲取或設置控制臺窗口區域的最頂部相對于屏幕緩沖區的位置;
??? WindowWidth:獲取或設置控制臺窗口的寬度;
事件
??? CancelKeyPress:在同時按下修改鍵Control和控制臺鍵C時發生;
??????? 屏幕緩沖區:文本實際上是從控制臺擁有的流進行讀取和寫入的,但看起來像是在控制臺擁有的一個區域中進行讀取和寫入,這個區域就 稱為屏幕緩沖區;它是控制臺的一個屬性,以由行和列組成的矩形網格形式來進行組織,其中每個網格交叉位置(字符單元格)都可以包含一 個字符。而且每個字符都有自己的前景色,其中每個字符單元格都有自己的背景色;
??????? 控制臺窗口:它的本質就是一窗體,它也以行和列的形式進行組織,其大小與屏幕緩沖區相同或者更小,該窗口可以進行移動以查看屏幕 緩沖區的不同區域。其中如果屏幕緩沖區比控制臺窗口大,控制臺會自動顯示滾動條,以使控制臺窗口可以在屏幕緩沖區上重新定位;
?????? 屏幕緩沖區可以通過控制臺窗口的矩形區域查看;
?????? 光標:指指示屏幕緩沖區中當前正在讀取或寫入文本的位置(它可以同過CursorLeft和CursorTop來獲取其相對于屏幕左上角的列數[即x坐 標]和行數[即y坐標]);
?????? 注:CursorLeft和CursorTop(int類型的值)的數值是隨著光標的位置的改變而不斷發生變化的;其中方法:public static void SetCursorPosition(int left,int top)用來設置光標的位置;(如果用console[控制臺]來模擬計算器時,其顯示欄的數據的顯示需要用到這 個方法);
??????? Console類是一個靜態的類,故其方法也都為靜態的
下面我們來了解下console類的方法和屬性:
???????? 已重載:Beep():通過控制臺揚聲器播放提示音
????????????????????????? Beep(Int32,Int32):通過控制臺揚聲器播放具有指定頻率和持續時間的提示音(其中聲音持續時間的單位是ms[毫秒])
?????? ?void Clear():清除控制臺緩沖區和相應的控制臺窗口的顯示信息;
?????? 已重載:MoveBufferArea(Int32,Int32,Int32,Int32,Int32,Int32):將屏幕緩沖區的指定原區域復制到指定的目標區域;
?????????????????????? ?MoveBufferArea(Int32, Int32, Int32, Int32, Int32, Int32,Char,ConsoleColor, ConsoleColor) :將屏幕緩沖區的指定原區域復制到指定的目標區域;(方法中的參數列表不同)
???? 已重載:OpenstandardError():獲取標準錯誤流;
?????????????????????? OpenStandardError(Int32):獲取設置為指定緩沖區大小的標準錯誤流
??????int Read():從標準輸入流讀取下一個字符
??? 已重載:ReadKey():獲取用戶按下的下一個字符或功能鍵,按下的鍵顯示在控制臺窗口中
??????????? ReadKey(Boolean):獲取用戶按下的下一個字符或功能鍵,按下的可以懸著顯示在控制臺窗口中,也可以不顯示;
???? string ReadLine():從標準輸入流讀取下一行字符;
?????void ResetColor():將控制臺的前景色和背景色設置為默認值
???? void SetBufferSize(int width,int height):將屏幕緩沖區的高度和寬度設置為指定值
???? void SetCursorPosition(int left,int top):設置光標的位置
?????void SetWindowPosition(int left,int top):設置控制臺窗口相對于屏幕緩沖區的位置
?????void SetWindowSize(int width,int height):將控制臺窗口的高度和寬度設置為指定值
??? 已重載:var Write(var value):將指定值的文本表示形式寫入標準輸出流
??? 已重載:var WriteLine(var value):將指定的數據(后跟當前行終止符)寫入標準輸出流
屬性:
??? BackgroundColor:獲取或設置控制臺的背景色;
??? BufferHeight:獲取或設置緩沖區的高度;
??? BufferWidth:獲取或設置緩沖區的快讀;
??? CapsLock:獲取一個值,該值指示CapsLock鍵盤切換鍵是打開的還是關閉的
??? CursorLeft:獲取或設置光標的在緩沖區的列位置;
??? CursorTop:獲取或設置光標在緩沖區中的行位置;
??? CursorVisible:獲取或設置一個值,用以指示光標是否可見;
??? Error:獲取標準錯誤輸出流;
??? ForegroundColor:獲取或設置控制臺的前景色;
??? In:獲取標準輸入流;
??? InputEncoding:獲取或設置控制臺用于度曲輸入的編碼;
??? KeyAvailable:獲取一個值,該值指示按鍵操作在輸入流中是否可用;
??? LargestWindowHeight:根據當前字體和屏幕分辨率獲取控制臺窗口可能具有的最大行數;
??? LargestWindowWidth:根據當前字體和屏幕分辨率獲取控制臺窗口可能具有的最大列數;
??? NumberLock:獲取一個值,該值指示NumLock鍵盤切換鍵是打開的還是關閉的;
??? Out:獲取標準輸出流
??? OutputEncoding:獲取或設置控制臺用于寫入輸出的編碼;
??? Title:獲取或設置要顯示在控制臺標題欄中的標題;
??? TreatControlAsInput:獲取或設置一個值,該值指示是將修改鍵Control和控制臺鍵C的組合視為普通輸入,還是視為由操作系統處理的中 斷;
??? WindowHeight:獲取或設置控制臺窗口區域的高度;
??? WindowLeft:獲取或設置控制臺窗口區域的最左邊相對于屏幕緩沖區的位置;
??? WindowTop:獲取或設置控制臺窗口區域的最頂部相對于屏幕緩沖區的位置;
??? WindowWidth:獲取或設置控制臺窗口的寬度;
事件
??? CancelKeyPress:在同時按下修改鍵Control和控制臺鍵C時發生;
轉載于:https://blog.51cto.com/1888229/352059
總結
以上是生活随笔為你收集整理的Console类浅谈的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flash开发中如何实现界面代码分离
- 下一篇: linux 下 upx 脱壳笔记