淺析VB.NET實現下拉選單的折行顯示
VB.NET有很多值得學習的地方,這裡我們主要介紹VB.NET實現下拉選單,包括介紹控制元件進行改進等方面。
.NET是Microsoft公司提供解決未來計算需要的工具。在.NET Framework中提供了許多控制元件,可以解決程式設計中使用者介面的設計和實現,但在實際應用中可能需要對系統提供的控制元件進行改進,如下拉選單不能折行顯示。本文將介紹用VB.NET實現下拉選單折行顯示。
設計能自動折行的下拉選單
VB.NET實現下拉選單,在ComboBox控制元件中每項佔用一行,如果有選擇項的內容長度超過下拉選單的寬度,則超過部分不顯示,這樣就可能造成使用者所見的內容不完全而無法選擇的情況。我們對該控制元件進行改進,當一行顯示不完全某項時進行折行顯示,為了防止使用者將折行的項誤認為是兩個選擇項,我們將不同的選項用相互間隔的顏色區分。類程式碼如下:
- Public Class myComboBox
- Inherits System.Windows.Forms.ComboBox
- #Region " Windows 窗體設計器生成的程式碼 "
- …
- #End Region
- '下面程式碼用不同的顏色顯示選項
- Private Sub myComboBox_DrawItem(ByVal sender As Object,
ByVal e As _ System.Windows.Forms.DrawItemEventArgs) Handles MyBase.DrawItem- If e.Index < 0 Then Exit Sub
- Dim txtColor As SolidBrush
- Dim bgColor As SolidBrush
- Dim txtfnt As Font
- txtColor = New SolidBrush(Color.Black)
- If e.Index / 2 = CInt(e.Index / 2) Then
- bgColor = New SolidBrush(Color.White)
- Else
- bgColor = New SolidBrush(Color.LightYellow)
- End If
- If e.State And DrawItemState.Selected Then
- txtColor = New SolidBrush(Color.Blue)
- End If
- e.Graphics.FillRectangle(bgColor, e.Bounds)
- e.Graphics.DrawRectangle(Pens.Black, e.Bounds)
- Dim r As New RectangleF(e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height)
- e.Graphics.DrawString(Items(e.Index).ToString, Me.Font, txtColor, r)
- End Sub
- '下面程式碼計算每行選項需要的尺寸
- Private Sub myComboBox_MeasureItem(ByVal sender As Object,
ByVal e As _ System.Windows.Forms.MeasureItemEventArgs) Handles MyBase.MeasureItem- Dim lsize As SizeF
- lsize = e.Graphics.MeasureString(Items(e.Index).ToString, Me.Font, New SizeF(Me.Width, 200))
- e.ItemHeight = lsize.Height
- e.ItemWidth = lsize.Width
- End Sub
- End Class
以上介紹VB.NET實現下拉選單折行顯示。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-616645/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HTML+CSS+JQuery實現下拉選單滑鼠懸浮顯示下拉選單,取消隱藏HTMLCSSjQuery
- JavaScript實現HTML導航欄下拉選單[懸浮顯示]JavaScriptHTML
- 滑鼠經過顯示下拉選單
- 在頂部顯示下拉選單
- js css滑鼠懸停顯示下拉選單JSCSS
- jquery多個滑鼠移上顯示下拉選單jQuery
- bootstrap 選單導航選單nav li滑鼠移入hover下拉顯示boot
- css+jquery滑鼠滑過,顯示下拉選單效果CSSjQuery
- Vue.js自定義下拉選單,如何實現在下拉選單區域外點選即可關閉下拉選單的功能Vue.js
- HTML+CSS實現下拉選單HTMLCSS
- JS實現級聯下拉選單JS
- 實現單擊一級選單顯示或隱藏二級選單
- css實現的二級下拉選單效果CSS
- 如何設定select下拉選單option項顯示的數目
- antd design Menu選單下拉回撥以及下拉選單時只能顯示一個列表,其餘關閉
- JavaScript讀取xml實現下拉選單JavaScriptXML
- checkbox及css實現點選下拉選單CSS
- 選擇下拉選單項實現跳轉效果
- jquery實現的點選二級下拉導航選單jQuery
- JQuery實現絢麗的橫向下拉選單jQuery
- javascript實現的三級下拉導航選單JavaScript
- jQuery實現簡單點選隱藏和點選顯示列表的功能jQuery
- 淘寶頁面實現(包括級聯選單,下拉選單,框架)框架
- jquery-滑鼠經過導航條,顯示二級下拉選單jQuery
- js下拉框實現div顯示和隱藏JS
- 使用Vue實現下拉選單框批量新增選項Vue
- vue使用iview實現單選,禁選,下拉框的效果VueView
- jquery實現四級級聯下拉選單jQuery
- CSS實現單行、多行文字溢位顯示省略號的實現方法CSS
- 選中select下拉選單option項實現提交效果
- 函式節流實現滑動下拉選單函式
- android 之 Spinner 下拉選單實現級聯Android
- WebSocket 實現原理淺析Web
- hashmap實現原理淺析HashMap
- 下拉選單
- jquery實現的獲取選中select下拉選單的值和文字jQuery
- CSS實現單行、多行文字溢位顯示省略號CSS
- CSS實現單行、多行文字溢位顯示省略號(…)CSS