123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Windows.Forms;
- using System.Drawing;
- namespace LYFZ.ComponentLibrary
- {
- public class BorderedTableLayoutPanel : TableLayoutPanel
- {
- //Pen borderPen;
- //public Pen BorderPen { get { return this.borderPen; } set { this.borderPen = value; } }
- //protected override void OnCreateControl()
- //{
- // base.OnCreateControl();
- // this.CellBorderStyle = TableLayoutPanelCellBorderStyle.None;
- // this.borderPen = this.borderPen == null ? Pens.DarkGray : this.borderPen;
- // this.ControlAdded += delegate { this.cellBorders = null; };
- // this.ControlRemoved += delegate { this.cellBorders = null; };
- //}
- //protected override void OnCellPaint(TableLayoutCellPaintEventArgs e)
- //{
- // base.OnCellPaint(e);
- // Pen pen = this.BorderPen;
- // // Borders borders = this[e.Row, e.Column];
- // Point topleft = new Point(e.CellBounds.Left, e.CellBounds.Top);
- // Point topright = new Point(e.CellBounds.Right - 1, e.CellBounds.Top);
- // Point bottomleft = new Point(e.CellBounds.Left, e.CellBounds.Bottom - 1);
- // Point bottomright = new Point(e.CellBounds.Right - 1, e.CellBounds.Bottom - 1);
- // // if ((borders & Borders.Left) == Borders.Left)
- // // e.Graphics.DrawLine(pen, topleft, bottomleft);
- // //if ((borders & Borders.Right) == Borders.Right)
- // // e.Graphics.DrawLine(pen, topright, bottomright);
- // //if ((borders & Borders.Top) == Borders.Top)
- // // e.Graphics.DrawLine(pen, topleft, topright);
- // // if ((borders & Borders.Bottom) == Borders.Bottom)
- // // e.Graphics.DrawLine(pen, bottomleft, bottomright);
- //}
- //[Flags]
- //enum Borders
- //{
- // None = 0, Left = 1, Right = 2, Top = 4, Bottom = 8,
- //}
- //Borders[,] cellBorders;
- //Borders this[int row, int col]
- //{
- // get
- // {
- // if (this.cellBorders == null)
- // {
- // // PrepareCellBorders();
- // }
- // if (row < this.cellBorders.GetLength(0) && col < this.cellBorders.GetLength(1))
- // {
- // return this.cellBorders[row, col];
- // }
- // return Borders.None;
- // }
- // set
- // {
- // if (this.cellBorders == null)
- // {
- // // PrepareCellBorders();
- // }
- // if (row < this.cellBorders.GetLength(0) && col < this.cellBorders.GetLength(1))
- // {
- // this.cellBorders[row, col] = value;
- // }
- // }
- //}
- ////private void PrepareCellBorders()
- ////{
- //// this.cellBorders = new Borders[this.RowCount, this.ColumnCount];
- //// for (int y = 0; y < cellBorders.GetLength(0); y++)
- //// {
- //// for (int x = 0; x < cellBorders.GetLength(1); x++)
- //// {
- //// cellBorders[y, x] = Borders.Top | Borders.Left;
- //// if (y == cellBorders.GetLength(0) - 1) cellBorders[y, x] |= Borders.Bottom;
- //// if (x == cellBorders.GetLength(1) - 1) cellBorders[y, x] |= Borders.Right;
- //// }
- //// }
- //// foreach (Control c in this.Controls)
- //// {
- //// int rowspan = this.GetRowSpan(c);
- //// int colspan = this.GetColumnSpan(c);
- //// TableLayoutPanelCellPosition pos = this.GetCellPosition(c);
- //// for (int y = 0; y < rowspan; y++)
- //// {
- //// for (int x = 0; x < colspan; x++)
- //// {
- //// if (y > 0) this[pos.Row + y, pos.Column + x] &= ~Borders.Top;
- //// if (x > 0) this[pos.Row + y, pos.Column + x] &= ~Borders.Left;
- //// }
- //// }
- //// }
- ////}
- }
- }
|