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 --------------
js中typeof和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
css中animation屬性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)以及特殊字符(元
Django中Cookie和Session的基本配置以及設置
Cookie Session Django中Cookie和Sessi Cookie1、獲取Cookie:request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, salt=''