1. 程式人生 > >C# Dev控制元件中的 PropertyGridControl 屬性控制元件的基本用法以及排序

C# Dev控制元件中的 PropertyGridControl 屬性控制元件的基本用法以及排序

在這個例子中將實現讓該屬性控制元件實現排序按鈕。

效果如圖:

首先2個按鈕是 CheckButton 控制元件。

然後是一個:PropertyGridControl  控制元件

為了美觀一點,將2個CheckButton控制元件的AllowFocus屬性設定為 False

-----------------------------------------------------------

程式碼如下:

複製程式碼
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing; using System.Text; using System.Windows.Forms; using DevExpress.XtraEditors; using DevExpress.XtraEditors.Repository; using DevExpress.XtraVerticalGrid; using DevExpress.Utils; using DevExpress.XtraBars; using System.Reflection; namespace WindowsFormsApplication1 { /// <summary>
/// <para>Demo By Andrew.</para> /// <para>Date:2012-8-8 14:23:27</para> /// Andrew's Blog : http://www.cnblogs.com/andrew-blog /// </summary> public partial class XtraForm1 : DevExpress.XtraEditors.XtraForm { /// <summary> /// 設定2個CheckButton按鈕的事件、屬性初始化
/// 將PropertyGridControl控制元件的繫結物件為自己。 /// </summary> public XtraForm1() { InitializeComponent(); checkBtnPropertySort.CheckedChanged += new EventHandler(checkBtnSort); checkBtnAZSort.CheckedChanged += new EventHandler(checkBtnSort); SetBarButtonToolTip(checkBtnPropertySort, "分組排序"); SetBarButtonToolTip(checkBtnAZSort, "按字母排序"); this.checkBtnPropertySort.Image = Image.FromFile("Categorized.png"); this.checkBtnAZSort.Image = Image.FromFile("Alphabetical.png"); checkBtnPropertySort.Checked = true; propertyGridControl.SelectedObject = propertyGridControl; } //CheckButton.CheckeChange事件 void checkBtnSort(object sender, EventArgs e) { CheckButton thisChk = (CheckButton)sender; if (thisChk == checkBtnPropertySort) { if (checkBtnPropertySort.Checked) SetBarButtonDown(checkBtnAZSort, false); else SetBarButtonDown(checkBtnAZSort, true); } else { if (checkBtnAZSort.Checked) SetBarButtonDown(checkBtnPropertySort, false); else SetBarButtonDown(checkBtnPropertySort, true); } UpdatePropertyGrid(); } //設定按鈕的滑鼠懸浮氣泡提示資訊 static void SetBarButtonToolTip(CheckButton chkBtn, string value) { SuperToolTip superToolTip = new SuperToolTip(); ToolTipTitleItem toolTipTitleItem = new ToolTipTitleItem(); toolTipTitleItem.Text = value; superToolTip.Items.Add(toolTipTitleItem); chkBtn.SuperTip = superToolTip; } //設定按鈕是否按下 void SetBarButtonDown(CheckButton chkBtn, bool value) { chkBtn.CheckedChanged -= new EventHandler(checkBtnSort); chkBtn.Checked = value; chkBtn.CheckedChanged += new EventHandler(checkBtnSort); } //更變控制元件排序方式 void UpdatePropertyGrid() { this.propertyGridControl.OptionsView.ShowRootCategories = this.checkBtnPropertySort.Checked; } } }
複製程式碼

相關推薦

C# Dev控制元件PropertyGridControl 屬性控制元件基本用法以及排序

在這個例子中將實現讓該屬性控制元件實現排序按鈕。 效果如圖: 首先2個按鈕是 CheckButton 控制元件。 然後是一個:PropertyGridControl  控制元件 為了美觀一點,將2個CheckButton控制元件的AllowFocus屬性設定為 False --------------

jstypeof和instanceof的基本用法以及區別

JavaScript 中 typeof 和 instanceof 通常都會用來判斷一個變數是否為空,或者是什麼型別的。但在具體使用中它們之間還是有區別的: 首先我們來說一下typeof的用法以及需要注意的地方: typeof 是一個一元運算,放在一個運算數之前,這個運算數可以是任意的

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

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

如何控制控制元件屬性是否可編輯

// 指數 -- 當對陣列按各位進行排序時,exp=1;按十位進行排序時,exp=10;... int exp; // 陣列a中的最大值 int max = getMax(arr); // 從個位開始,對陣列a按"指數"進行排序 for (exp = 1;

C#多執行緒訪問winform控制元件

方法一:System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;  不推薦使用這種方式,禁止編譯器對跨執行緒訪問做檢查的方式實現。 方法二:使用delegate和invoke private

C# 多執行緒更新窗體控制元件

在C#中用到多執行緒處理一些功能,同時希望介面同步顯示更新,如果直接寫程式碼就會出現一些問題: 問題程式碼: Thread ScanFileThread; ScanFileThread = new Thread(WorkScanFileThread);  this.Scan

C# 獲取aspx頁面所有隱藏控制元件的兩種方法

適合.NET4.0 以上版本 /// <summary> /// 獲取ASPX頁面中隱藏post值 Viewstae 等 /// </summary> /// <param name="Url"></para

Vuex 元件屬性物件及專案搭建

Vuex: 1.什麼是vuex 是專門為vue.js開發的狀態管理模式,他集中儲存了所有元件的狀態(包括:資料/事件...) 2.他的應用場景:中大型專案中使用 元件式開發 單頁面應用 首頁/購物車/中餐/我的---》張三(本地儲存) /當前位置(公用的) 3.使用 搭建專案 > vue

C#如何訪問Lua屬性(1)

參考   http://www.myexception.cn/c-sharp/1881698.html C#如何訪問Lua中的屬性 1) .C#如何訪問LUA中的屬性? 2) .C#如何訪問LUA中的函式? 3) .C#如何訪問LUA中的表? 第一個檔案

queue (C++STL庫常用queue基本用法的實現) ([連結串列],[陣列]的實現)

Queue: 依循先進先出的規則的單調佇列. 下面是用連結串列實現的queue的幾個基本用法和一個clear()的補充用法: #include<stdio.h> /* *Date:2018/10/22 *Author:Fushicho *Name:queue連

求助 delphi ADO元件的 CursorLocation屬性設定為 clUseServer 用法 [問題點數:20分]

我有個管理系統,所有ADOQUERY元件的 CursorLocation屬性設定為 clUseClient,一直執行正常,我嘗試全部設定為clUseServer, 系統不運行了,請大家幫忙。我的做法是:1. 連線資料庫之前,先將ADOConnection的 C

Vue2.0問題總結—在父元件無法渲染子元件的問題

最近剛入門Vue2.0,準備跟著文件寫demo,由於自己的粗心導致出現的一些問題,在這裡總結下。 先貼下我的VSCode中Vue快速新增的通用程式碼模板: "Print to console": { "prefix": "vue",

C++public、protected及private用法 以及各種繼承方式的影響 (二)

在學習C++時經常會混淆public、protected、private在繼承中的概念,於是寫在此部落格加深理解。  首先記住以下三點: 使用者程式碼(類外)只能訪問public成員變數和public成員函式。 子類(繼承類)能訪問基類的public和protected

cssanimation屬性animation-timing-function知識點以及屬性值steps()詳解

在animation中最重要的其實就是時間函式(animation-timing-function)這個屬性,他決定了你的動畫將以什麼樣的速度執行,所以最關鍵的屬性值也就是cubic-bezier(n,n,n,n),你平時用到的linear、ease、ease-out等都是基

stack (C++STL庫常用stack基本用法的實現) ([連結串列],[陣列]的實現)

Stack:依循先進後出原則的單調佇列. 下面是用連結串列實現的stack的幾個基本用法和一個clear()的補充用法: #include<stdio.h> /* *Date:2018/

C++map的操作及基本用法

一.Map簡介 Map是STL的一個容器,它提供一對一的hash。 1)第一個可以稱為關鍵字(key),每個關鍵字只能在map中出現一次。 2)第二個可為關鍵字的值(value)。 Map以模板(泛型)方式實現,可以儲存任意型別的變數,包括使用者自定義的

c#字典(Dictionary)基本用法

字典(Dictionary):以鍵值對形式存值,可以存放多個數據,歸定型別,可以使用foreach遍歷,和雜湊表很像也是一種無序的結構。 定義: Dictionary <型別1,型別2>

Android屬性動畫完全解析(上),初識屬性動畫的基本用法

fcm 操作 fad 擴展性 改變 內部使用 如果 轉載 @override 轉載請註明出處:http://blog.csdn.net/guolin_blog/article/details/43536355 在手機上去實現一些動畫效果算是件比較炫酷的事情,因此Andr

java正則表達式基本用法(轉)

code ack acea print 表達式 劃線 跟著 以及 n) https://www.cnblogs.com/xhj123/p/6032683.html 正則表達式是一種可以用於模式匹配和替換的規範,一個正則表達式就是由普通的字符(例如字符a到z)以及特殊字符(元

DjangoCookie和Session的基本配置以及設置

Cookie Session Django中Cookie和Sessi Cookie1、獲取Cookie:request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, salt=''