DockWindowCollection.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*******************************************************************************
  2. * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:DockWindowCollection.cs
  5. * 2.功能描述:类文件
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 陈晓野 2014/09/01 1.00 新建
  9. *******************************************************************************/
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Collections.ObjectModel;
  13. namespace Dongke.IBOSS.PRD.Basics.DockPanel
  14. {
  15. public class DockWindowCollection : ReadOnlyCollection<DockWindow>
  16. {
  17. internal DockWindowCollection(DockPanel dockPanel)
  18. : base(new List<DockWindow>())
  19. {
  20. Items.Add(new DockWindow(dockPanel, DockState.Document));
  21. Items.Add(new DockWindow(dockPanel, DockState.DockLeft));
  22. Items.Add(new DockWindow(dockPanel, DockState.DockRight));
  23. Items.Add(new DockWindow(dockPanel, DockState.DockTop));
  24. Items.Add(new DockWindow(dockPanel, DockState.DockBottom));
  25. }
  26. public DockWindow this[DockState dockState]
  27. {
  28. get
  29. {
  30. if (dockState == DockState.Document)
  31. return Items[0];
  32. else if (dockState == DockState.DockLeft || dockState == DockState.DockLeftAutoHide)
  33. return Items[1];
  34. else if (dockState == DockState.DockRight || dockState == DockState.DockRightAutoHide)
  35. return Items[2];
  36. else if (dockState == DockState.DockTop || dockState == DockState.DockTopAutoHide)
  37. return Items[3];
  38. else if (dockState == DockState.DockBottom || dockState == DockState.DockBottomAutoHide)
  39. return Items[4];
  40. throw (new ArgumentOutOfRangeException());
  41. }
  42. }
  43. }
  44. }