public override void Draw(Graphics graphics) { GraphicsContainer container = graphics.BeginContainer(); Rectangle bounds = base.Bounds; using (Region region = new Region(new Rectangle(bounds.X, bounds.Y, bounds.Width + 1, bounds.Height + 1))) { graphics.Clip = region; StringFormat format = new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center, Trimming = StringTrimming.Character, FormatFlags = StringFormatFlags.NoWrap }; int maxVisibleItems = base.MaxVisibleItems; int scrollPosition = base.ScrollPosition; for (int i = scrollPosition; (i < base.Items.Count) && (i < (scrollPosition + maxVisibleItems)); i++) { System.Workflow.ComponentModel.Design.ItemInfo itemInfo = base.Items[i]; Rectangle itemBounds = base.GetItemBounds(itemInfo); int pageFoldSize = itemBounds.Width / 5; GraphicsPath[] pathArray = ActivityDesignerPaint.GetPagePaths(itemBounds, pageFoldSize, DesignerContentAlignment.TopRight); using (GraphicsPath path = pathArray[0]) { using (GraphicsPath path2 = pathArray[1]) { Brush white = Brushes.White; if (base.SelectedItem == itemInfo) { white = PageStrip.SelectionBrush; } else if (base.HighlitedItem == itemInfo) { white = PageStrip.HighliteBrush; } graphics.FillPath(white, path); graphics.DrawPath(Pens.DarkBlue, path); graphics.FillPath(Brushes.White, path2); graphics.DrawPath(Pens.DarkBlue, path2); if (itemInfo.Image == null) { itemBounds.Y += pageFoldSize; itemBounds.Height -= pageFoldSize; graphics.DrawString((i + 1).ToString(CultureInfo.CurrentCulture), Control.DefaultFont, SystemBrushes.ControlText, itemBounds, format); } else { itemBounds.Y += pageFoldSize; itemBounds.Height -= pageFoldSize; itemBounds.X += (itemBounds.Width - itemBounds.Height) / 2; itemBounds.Width = itemBounds.Height; itemBounds.Inflate(-2, -2); ActivityDesignerPaint.DrawImage(graphics, itemInfo.Image, itemBounds, DesignerContentAlignment.Center); } } } } } graphics.EndContainer(container); }