日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#第三方控件的使用

發布時間:2025/5/22 C# 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#第三方控件的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、DEVEXPRESS的使用

官網:https://www.devexpress.com/

入門教程:http://wenku.baidu.com/link?url=2sXEEby1ffx9JTWGwMEJRZCcT9l0PYWplacdSR7xOv-DrJ2LMeo3HW31PwzvLeOCBdN7Hg9Z-LKflUy9QoGEl13FJOKk_7JloGQKDaXZSKW

相關博客:http://www.cnblogs.com/wuhuacong/archive/2011/08/31/2161002.html

DevExpress控件使用經驗總結

DevExpress是一個比較有名的界面控件套件,提供了一系列的界面控件套件的DotNet界面控件。本文主要介紹我在使用DevExpress控件過程中,遇到或者發現的一些問題解決方案,或者也可以所示一些小的經驗總結。總體來講,使用DevExpress控件,可以獲得更高效的界面設計以及更美觀的效果。本文主要通過給出相應的例子以及相關界面效果來說明問題,希望大家能夠從中獲得好的知識和思路。?

1、 應用Office2007和Office2010的界面主題

開始使用DevExpress的時候,發現程序界面效果好像沒有出現Office的樣式,只是有幾種可憐的內置效果。經過查找發現需要在入口函數里面添加幾行代碼,如下所示。

?? ? ? ? ? ?DevExpress.UserSkins.OfficeSkins.Register();
????????????DevExpress.UserSkins.BonusSkins.Register();
?? ? ? ? ? ?DevExpress.Skins.SkinManager.EnableFormSkins();?

指定界面主題效果,可以通過代碼設置,指定主題的名稱即可。

UserLookAndFeel.Default.SetSkinStyle("Office?2010?Blue");?

或者在界面中添加一個控件?DefaultLookAndFeel,設置其對應的界面效果即可實現整個設計時刻和運行時刻的界面效果,如下圖所示。

?

?

2、Properties屬性

DevExpress很多控件的一般屬性,會放置在該屬性下面,如ComboBox下拉列表的屬性操作如下

? ? ? ??private?void?InitDictItem()
????????{
????????????this.txtManufacture.Properties.Items.Clear();
????????????this.txtManufacture.Properties.Items.AddRange(DictItemUtil.GetDictByDictType("供貨商"));
? ? ? ? }??

這是一個很豐富屬性的歸類,很多常用的屬性基本上都囊括在這里了,如果你是從傳統界面轉換過來DevExperss開發,找不著相關的屬性,盡管來這里看看。例如設置顯示的可見性、可用性、

?自定義顯示格式等等。

?

3、GridView的相關操作

獲取選定行制定列的內容,用于刪除記錄的操作代碼如下

DevExpess的GridView控件,和傳統WinFrom的GridView有很大的不同,如他沒有GetSelectedRow的行集合操作,但可以通過GetSelectedRows獲取制定的行序號,通過行序號來進行操作,如要獲得指定行,制定列的內容,可以通過GetRowCellDisplayText?獲取文本或者通過GetRowCellValue獲取對應的值。

如果需要獲取當前選定行(焦點所在行)的制定列的數據,那么可以通過函數GetFocusedRowCellDisplayText("ID")來獲取。

? ? ? ??private?void?winGridViewPager1_OnDeleteSelected(object?sender,?EventArgs?e)
????????{
????????????if?(MessageUtil.ShowYesNoAndTips("您確定刪除選定的記錄么?")?==?DialogResult.No)
????????????{
????????????????return;
????????????}

????????????int[]?rowSelected?=?this.winGridViewPager1.GridView1.GetSelectedRows();
????????????foreach?(int?iRow?in?rowSelected)
????????????{
????????????????string?ID?=?this.winGridViewPager1.GridView1.GetRowCellDisplayText(iRow,?"ID");
????????????????BLLFactory<ItemDetail>.Instance.Delete(ID);
????????????}
????????????BindData();
? ? ? ? }?

?

為GridView行提示信息以及顯示行號,有時候為了方便數據的顯示,需要在GridView的第一列顯示該列的行信息以及行號,那么需要為GridView控件添加一個ToolTipController控件,然后實現該控件的GetActiveObjectInfo事件,在事件里面添加下面代碼以及實現GridView控件的CustomDrawRowIndicator事件即可,如下代碼所示。

? ? ? ??private?void?toolTipController1_GetActiveObjectInfo(object?sender,?DevExpress.Utils.ToolTipControllerGetActiveObjectInfoEventArgs?e)
????????{
????????????if?(e.SelectedControl?!=?gridControl1)?return;

????????????ToolTipControlInfo?info?=?null;
????????????//Get?the?view?at?the?current?mouse?position
????????????GridView?view?=?gridControl1.GetViewAt(e.ControlMousePosition)?as?GridView;
????????????if?(view?==?null)?return;

????????????//Get?the?view's?element?information?that?resides?at?the?current?position
????????????GridHitInfo?hi?=?view.CalcHitInfo(e.ControlMousePosition);
????????????//Display?a?hint?for?row?indicator?cells
????????????if?(hi.HitTest?==?GridHitTest.RowIndicator)
????????????{
????????????????//An?object?that?uniquely?identifies?a?row?indicator?cell
????????????????object?o?=?hi.HitTest.ToString()?+?hi.RowHandle.ToString();
????????????????StringBuilder?sb?=?new?StringBuilder();
????????????????sb.AppendLine("行數據基本信息:");
????????????????foreach?(GridColumn?gridCol?in?view.Columns)
????????????????{
????????????????????if?(gridCol.Visible)
????????????????????{
????????????????????????sb.AppendFormat("????{0}:{1}\r\n",?gridCol.Caption,?view.GetRowCellDisplayText(hi.RowHandle,?gridCol.FieldName));
????????????????????}
????????????????}
????????????????info?=?new?ToolTipControlInfo(o,?sb.ToString());
????????????}

????????????//Supply?tooltip?information?if?applicable,?otherwise?preserve?default?tooltip?(if?any)
????????????if?(info?!=?null)
????????????{
????????????????e.Info?=?info;
????????????}
? ? ? ? }?

?

?????????private?void?gridView1_CustomDrawRowIndicator(object?sender,?RowIndicatorCustomDrawEventArgs?e)
? ? ? ? {
????????????if?(ShowLineNumber)
????????????{
????????????????e.Appearance.TextOptions.HAlignment?=?DevExpress.Utils.HorzAlignment.Far;
????????????????if?(e.Info.IsRowIndicator)
????????????????{
????????????????????if?(e.RowHandle?>=?0)
????????????????????{
????????????????????????e.Info.DisplayText?=?(e.RowHandle?+?1).ToString();
????????????????????}
????????????????}
????????????}
????????}

?

以上雖然是使用了我的DevExpress分頁控件,不過分頁控件的內部就是使用了DevExpress的GridControl控件的。

?

?4、常用布局控件。

傳統的數據編輯界面,我們一般需要添加一個Label,然后再加一個TextBox或者其他控件,而DevExpress在這方面確實下了不少功夫,引入了一個LayoutControl的控件,該控件可以在你添加一個TextBox等其他控件的時候,自動為你加入一個類似Label的控件,而且布局已經給你設計對齊好,添加幾個可以在一行中放置多列控件,對齊效果也非常好,如果是重新設計界面,省卻不少對齊以及維護Label的屬性。

另外,該布局屬性可以設置類似GroupBox的邊界效果(默認不顯示文本和邊界),也可以統一設計在該布局控件內部各種控件的效果,如ReadOnly為True的顯示如何,Enable為False的顯示如何,只需要設置一個地方,就可以統一界面效果了。總之,用起來相當的不錯。

?

?

?總體來講,第一次使用DevExpress會覺得很多地方不太適應,甚至有時候找不到對應的屬性,但是當慢慢熟悉了使用該控件來開發的時候,會覺得它確實在很多地方引入了較好的理念,習慣了就覺得效率提高了不少,界面設計上也會覺得更加美觀和方便了。由于我只是在我平常開發的小例子,以及我的Winform開發框架中,應用了DevExpress控件的各種常用效果,應該還有很多常用的控件以及高級控件沒有用到,以后有繼續使用的話,會繼續記錄相應的經驗心得供大家探討。

最后附上一個我應用DevExpress控件改進過Winform開發框架的界面效果圖,里面應用到了Ribbon界面效果以及基于DevExpress控件的分頁控件(前面有介紹過使用例子),使用了分頁控件,對整個GridView的處理上,會方便很多,界面效果如下所示。

?

?

主要研究技術:代碼生成工具、Visio二次開發、客戶關系管理軟件、送水管理軟件等共享軟件開發

總結

以上是生活随笔為你收集整理的C#第三方控件的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。