溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Visual Studio中怎么自定義調(diào)整窗體

發(fā)布時(shí)間:2021-07-20 14:08:33 來源:億速云 閱讀:563 作者:Leah 欄目:編程語言

Visual Studio中怎么自定義調(diào)整窗體,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

使用DebuggerBrowsable特性可以自定義調(diào)試窗體。

Visual Studio中怎么自定義調(diào)整窗體

使用DebuggerDisplay特性可以自定義調(diào)試信息的顯示.

Visual Studio中怎么自定義調(diào)整窗體

要使用這些特性,需要引用System.Diagnostics命名空間。

技巧1、使用DebuggerBrowsable特性

你可以通過在屬性上使用DebuggerBrowsable特性來自定義調(diào)試窗體。這些特性可以用任何屬性、字段和索引上。DebuggerBrowsable的構(gòu)造函數(shù)需要一個(gè)DebuggerBrowsableState 參數(shù)。DebuggerBrowsableState用來指定調(diào)試信息在窗體上顯示的方式。

它有三個(gè)狀態(tài):

1、Collapsed :如果設(shè)置DebuggerBrowsableState為Collapsed 。那么調(diào)試信息折疊顯示。默認(rèn)為Collapsed

2、Never :調(diào)試窗體不顯示調(diào)試信息 

3、RootHidden :隱藏調(diào)試信息的根元素,只顯示子元素信息,想了解更多,看MSDN。

下面我將通過一個(gè)例子敘述如何使用DebuggerBrowsable 和DebuggerBrowsableState。開始之前,看下面這段代碼:

下面,先看一下不使用這些特性是什么樣的效果。我在main 函數(shù)的結(jié)尾放置一個(gè)斷點(diǎn)。你可以得到下面的調(diào)試窗體。

Visual Studio中怎么自定義調(diào)整窗體

從上圖中可以看到有6個(gè)student對(duì)象,每個(gè)對(duì)象的值都不同。Addresses是類Address的對(duì)象,它的調(diào)試信息值是隱藏的。

現(xiàn)在,我想要看到address的所有屬性信息,隱藏Marks 屬性。為了實(shí)現(xiàn)這樣的需求,需要為給student 類中的Marks 和Addresses屬性添加DebuggerBrowsable特性。如下圖:

Visual Studio中怎么自定義調(diào)整窗體

技巧2、使用DebuggerDisplay特性

使用DebuggerDisplay可以定義類和字段在調(diào)試窗體中如何顯示。使用 DebuggerDisplay可以改變調(diào)試窗體中顯示的信息和變量,使它顯示你想要的信息。

看下面沒有使用DebuggerDisplay 的調(diào)試窗體。

Visual Studio中怎么自定義調(diào)整窗體

默認(rèn)情況下,每一個(gè)study對(duì)象你只得到NameSpace.ClassName這樣的顯示信息。我們可以使用DebuggerDisplay來自定義顯示的信息。 DebuggerDisplay  構(gòu)造函數(shù)需要顯示名作為參數(shù)。你可以傳遞指定參數(shù)來顯示。做如下設(shè)置:

Visual Studio中怎么自定義調(diào)整窗體

看下效果:

Visual Studio中怎么自定義調(diào)整窗體

使用DebuggerDisplay的時(shí)候必須注意,在{}中必須給出類的正確屬性,否者你會(huì)得到下面信息。

將Roll寫成Rolls,如下圖:

Visual Studio中怎么自定義調(diào)整窗體

提示:The name 'Rolls' does not exist in the current context。如下圖:

Visual Studio中怎么自定義調(diào)整窗體

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI