1. 程式人生 > >C# 中,ListView的自定義顯示,可用於顯示不同的顏色和字型等

C# 中,ListView的自定義顯示,可用於顯示不同的顏色和字型等

VS2010下的ListView控制元件,想用它來顯示不同的顏色單元格,在網上找了listView1.Items[i].UseItemStyleForSubItems = false;的方法,但是不知道為何不起作用,

所以又搜尋了OwnDraw的方法,本來以為很複雜,但後來發現其實很簡單,也很好用,具體如下:

ListView控制元件,Detail模式下,將OwnerDraw屬性設定為True(預設是False)。注意,OwnerDarw設定為True後,不做其它任務改動的話,控制元件將會顯示空白,是因為所有的內容都需要開發者自己去寫它的顯示程式碼

新增ListView的兩個事件處理函式:

DrawColumnHeader事件處理函式,用於繪製列標頭
DrawSubItem事件處理函式,用於繪製單元格

        private void listView1_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
        {
            e.DrawBackground();
            e.DrawText();
        }

        private void listView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
        {
            e.DrawBackground();
            e.DrawText();
            e.DrawFocusRectangle(e.Bounds);
            
        }

簡單地在這兩個函式中呼叫幾個語句,就能夠基本顯示出其原來的內容,其中

e.DrawBackgroud()用於繪製原有的背景

e.DrawText()用於繪製原有的文字

e.DrawForcusRectangle()用於繪製被選中時的邊框

在這個基礎上,就可以進行一些自己的設定了,比如說,在DrawSubItem事件函式中新增

e.SubItem.BackColor = e.SubItem.BackColor;

就能讓其顯示定義的背景色,同樣也可以改變字型等設定

相關推薦

C# ,ListView定義顯示,用於顯示不同顏色字型

VS2010下的ListView控制元件,想用它來顯示不同的顏色單元格,在網上找了listView1.Items[i].UseItemStyleForSubItems = false;的方法,但是不知道為何不起作用, 所以又搜尋了OwnDraw的方法,本來以為很複雜,但後來

c#定義泛型類、泛型方法泛型接口

泛型方法 return bsp 其中 tel sts code 方式 void ? 泛型的產生其中一個原因就是為了解決原來集合類中元素的裝箱和拆箱問題: 一、泛型類: /// <summary> /// 返回前臺的消息 /// &

C#定義控制元件的屬性、事件及一些相關特性的總結

今天學習了下C#使用者控制元件開發新增自定義屬性的事件,主要參考了MSDN,總結並實驗了一些用於開發自定義屬性和事件的特性(Attribute)。 在這裡先說一下我的環境: 作業系統:Windows7旗艦版(Service Pack 1) VS版本:Microsoft

.NET/C#定義物件集合進行定義排序的方法

一個集合可否排序,要看系統知不知道排序的規則,像內建的系統型別,int ,string,short,decimal這些,系統知道怎麼排序,而如果一個集合裡面放置的是自定義型別,比如自己定義了一個Car型別,要把它排序,系統是不知道怎麼辦的。 那麼,如何告知系統排序的規則

Object-C定義類實現協議

如果嘗試使用自定義類(例如,人類(person類)、地址簿類(myBook類)、分數類(Fraction類))中的copy方法,如 myBook = [myBook mutableCopy]; person = [Person copy];等類似的操作,將會收到一條異

定義view之實現文字不同顏色

效果圖 定義屬性 <declare-styleable name="ColorTrackTextView"> <attr name="originColor" format="color"/>

Android TextView文字通過SpannableString來設定超連結、顏色字型屬性

  在Android中,TextView是我們最常用的用來顯示文字的控制元件。   一般情況下,TextView中的文字都是一個樣式。那麼如何對於TextView中各個部分的文字來設定字型,大小,顏色,樣式,以及超級連結等屬性呢?下面我們通過SpannableString的

實現listview條目點選後改變item背景顏色字型顏色並保留

先上效果圖。 其實實現是很簡單的在item的佈局中設定背景顏色選擇器,當item被選中時就會改變背景顏色 字型顏色在listview的adapter這種進行設定,定義標記記錄當前被點選的item

XAF 框架定義參數動作(Action),輸入參數的控件定義用於選擇組織及項目

示例 app frame tro href express documents 定義 ron XAF 框架中,如何生成一個自定義參數動作(Action),輸入參數的控件可定義? 參考文檔:https://documentation.devexpress.com/eXpres

C#將使用者定義控制元件新增到工具箱

組裝使用者自定義的窗體 為了複用和便於維護,在C#中如何用已有窗體組裝自己的窗體,並且可以在以後需要的時候隨意拖拽使用? 在專案或專案中的某個資料夾上右鍵——新增——使用者控制元件 然後就可以編輯了。 將使用者自定義控制元件新增到工具箱中, 這樣在以後的專案中

DateTimePicker定義時間或日期顯示格式

在DateTimePicker中把Format 選擇為Cutstom,然後在CutstomFormat寫入格式字串,介紹如下: 例如,若要將日期和時間顯示為 06/01/2001 12:00 PM,

安卓實現定義對話方塊以及定義顯示位置

專案中有用到如下的對話方塊效果,本來是想用popwindow來實現的結果發現不能覆蓋原來的佈局,不知道是我瞭解的不夠還是本身就不行,發現彈出的對話方塊會與原來的佈局重疊 後面就用對話方塊來實現了,接下來講一下如何實現自定義對話方塊和自定義對話方塊的彈出位置

Android定義View——拖拽的ListView

有時時候需要對ListView的Item進行手動拖拽排序,如安桌系統中的對通知欄的開關排序,因此需要自定義一個可拖拽的ListView,效果如下: 可見,該ListView只有已新增欄可以拖動,同時可以拖動到未新增欄中,且拖動到頂部或底部時,會自動滾動列表。實現的基

C# WinForm如何定義config檔案(XML檔案),並且讀取儲存它

我這裡以連結資料庫為例子, 其中書寫的Config的xml檔案如下: <?xml version="1.0" encoding="utf-8"?> <configuration>   <appSettings>     <add k

定義dialog包含一個顯示圖片的listview

package com.brandroidapp.ui; import java.util.ArrayList; import com.brandroidapp.activity.R; import com.brandroidapp.adapter.ImageList

一步一步學android之控制元件篇——ListView定義顯示資料格式

上一篇部落格說了ListView的基本使用,這篇將是對ListView的使用進行一個提高,在日常生活中,如果單單給你看一些圖片,你可能都不知道這個圖片表達的什麼意思,但是要是在圖片旁邊寫的備註或者加個名字,我們就會很清楚的知道這張圖片是什麼,所以就要使用到SimpleAda

Html使用定義圖片來實現checkbox顯示

如果需要使用圖片來實現checkbox的使用,可以使用來實現,實現原理是將label表籤代替checkbox的顯示,將checkbox的display設定為none,在label標籤中使用要顯示的圖片i

FastReport調用Delphi定義函數

int 加載 自定義函數 調用 create phi tro fast creat //定義一個函數; function SmallToMoney(akey: real): string; begin //‘1234500‘ end; //此處為fastreport

在struts2配置定義攔截器放行多個方法

return med ttr limit ring req tac cat invoke 源碼: 自定義的攔截器類: //自定義攔截器類:LoginInterceptor ; package com.java.action.interceptor; import j

在Echarts 柱形圖的單擊事件寫入定義的參數

cnblogs img ges == innerhtml .com echart 通過 code