建体彩网|中彩网双色球连号|
?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

澳門黃金城官網網:擴展ToolBarManager、ListView和Grid控件以實現氣球式的ToolTip

?

infragistics是舉世領先的UI對象和用戶體驗的專家,Infragistics開拓了一系列的炫目的Windows、澳門黃金城官網網Web、WPF和Silverlight控件,信托很多人在應用它們。我們現在的項目就在應用Infragistics的Windows Form控件集。雖然這些控件功能強大年夜,也弗成能滿意你所有的需求,尤其是那些對照苛刻的終極用戶的需求。比如,我們近來就接管到這樣一個掉常的需求:讓以是菜單項、對象欄按鈕、網格單元的ToolTip以氣球式的樣式顯示。終極,我不得不經由過程對現有控件的擴展實現這個要求。

一、擴展UltraGrid

首先先容對UltraGrid的擴展,先來看看顯示的效果:當鼠標移到到每一個單元格(或者列頭)的時刻,會呈現如下一個氣球式的ToolTip,其翰墨的內容為單元格中的文本。ToolTip的樣式,包括背景、字體等均可以經由過程Infragistics控件本身支持的風格文件定義。

下面是擴展控件ExtendedUltraGrid的定義,邏輯對照簡單:直接承襲自UltraGrid,重寫兩個措施:OnMouseEnterElement和OnMouseLeaveElement。當鼠標移入和移出響應元素的時刻,這兩個措施會被調用。經由過程重寫 OnMouseEnterElement措施,手工創建UltraToolTipInfo工具,并經由過程UltraToolTipManager工具(UltraToolTipManager在工具構建的時刻被初始化)以ToolTip的形式顯示出來;手工創建的ToolTip在 OnMouseLeaveElement被履行的時刻被移除。此外,因為UltraGrid的單元格和列頭本身具有自己的ToolTip,你必要經由過程 DisplayLayout.Override.TipStyleCell和 DisplayLayout.Override.TipStyleHeader這兩個屬性抑制它們的顯示。

1: using Infragistics.Win;

2: using Infragistics.Win.UltraWinGrid;

3: using Infragistics.Win.UltraWinToolTip;

4:

5: namespace Artech.ExtendedControls4ToolTip

6: {

7:

8:public class ExtendedUltraGrid : UltraGrid{

9:

10:private UltraToolTipManager toolTipManager = new UltraToolTipManager();

11:protected override void OnPaint(System.Windows.Forms.PaintEventArgs pe)

12:{

13:base.OnPaint(pe);

14:this.DisplayLayout.Override.TipStyleCell = TipStyle.Hide;

15:this.DisplayLayout.Overrid澳門黃金城官網網e.TipStyleHeader = TipStyle.Hide;

16:}

17:

18:protected override void OnMouseEnterElement(UIElementEventArgs e)

19:{

20:UltraGridCell enteredCell = e.Element.GetContext(typeof(UltraGridCell)) as UltraGridCell;

21:if (enteredCell != null)

22:{

23:if (enteredCell.Column.DataType == typeof(bool))

24:{

25:return;

26:}

27:

28:UltraToolTipInfo gridToolTip = new UltraToolTipInfo(enteredCell.Text, ToolTipImage.Default, null, DefaultableBoolean.Default);

29:this.toolTipManager.SetUltraToolTip(this, gridToolTip);

30:this.toolTipManager.ShowToolTip(this);

31:return;

32:}

33:

34:ColumnHeader en澳門黃金城官網網teredHeader = e.Element.GetContext(typeof(ColumnHeader)) as ColumnHeader;

35:if (enteredHeader != null)

36:{

37:enteredHeader.ToolTipText = string.Empty;

38:澳門黃金城官網網UltraToolTipInfo gridToolTip = new UltraToolTipInfo(enteredHeader.Caption, ToolTipImage.Default, null, DefaultableBoolean.Default);

39:this.toolTipManager.SetUltraToolTip(this, gridToolTip);

40:this.toolTipManager.ShowToolTip(this);

41:}

42:}

43:

44:protected override void OnMouseLeaveElement(UIElementEventArgs e)澳門黃金城官網網

45:{

46:base.OnMouseLeaveElement(e);

47:UltraGridCell enteredCell = e.Element.GetContext(typeof(UltraGridCell)) as UltraGridCell;

48:ColumnHeader enteredHeader = e.Element.GetContext(typeof(ColumnHeader)) as ColumnHeader;

49:if (null != enteredCell || null != enteredHeader)

50:{

51:this.toolTipManager.HideToolTip();

52:}

53:}

54:}

55: }

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

建体彩网
老快3遗漏数据360官方网站 老时时彩 老快3技巧 新浪围棋最新消息 网易比分直播 上班太闲做点什么可以赚钱 福建腾游棋牌 麻将牌九怎么玩 可以兑换现金的麻将app 广东26选5选号