private void RedrawBands() { UpdateBarInfo(); for (int i = 0; i < Controls.Count; i++) { BandPanel bp = Controls[i] as BandPanel; RecalcLayout(bp, i); } }
public void AddBand(string caption, ContentPanel content) { content.outlookBar = this; int index = Controls.Count; BandTagInfo bti = new BandTagInfo(this, index); BandPanel bandPanel = new BandPanel(caption, content, bti); Controls.Add(bandPanel); UpdateBarInfo(); RecalcLayout(bandPanel, index); }
private void RecalcLayout(BandPanel bandPanel, int index) { int vPos = (index <= selectedBand) ? buttonHeight * index : buttonHeight * index + selectedBandHeight; int height = selectedBand == index ? selectedBandHeight + buttonHeight : buttonHeight; // the band dimensions bandPanel.Location = new Point(0, vPos); bandPanel.Size = new Size(ClientRectangle.Width, height); // the contained button dimensions bandPanel.Controls[0].Location = new Point(0, 0); bandPanel.Controls[0].Size = new Size(ClientRectangle.Width, buttonHeight); // the contained content panel dimensions bandPanel.Controls[1].Location = new Point(0, buttonHeight); bandPanel.Controls[1].Size = new Size(ClientRectangle.Width - 2, height - 25); foreach (System.Windows.Forms.Control ctrlIcon in bandPanel.Content.Controls) { int iX = bandPanel.Content.Size.Width / 2 - ctrlIcon.Width / 2; ctrlIcon.Location = new Point(iX, ctrlIcon.Location.Y); } }
private void RecalcLayout(BandPanel bandPanel, int index) { int vPos=(index <= selectedBand) ? buttonHeight*index : buttonHeight*index+selectedBandHeight; int height=selectedBand==index ? selectedBandHeight+buttonHeight : buttonHeight; // the band dimensions bandPanel.Location=new Point(0, vPos); bandPanel.Size=new Size(ClientRectangle.Width, height); // the contained button dimensions bandPanel.Controls[0].Location=new Point(0, 0); bandPanel.Controls[0].Size=new Size(ClientRectangle.Width, buttonHeight); // the contained content panel dimensions bandPanel.Controls[1].Location=new Point(0, buttonHeight); bandPanel.Controls[1].Size=new Size(ClientRectangle.Width-2, height-25); foreach(System.Windows.Forms.Control ctrlIcon in bandPanel.Content.Controls) { int iX = bandPanel.Content.Size.Width/2 - ctrlIcon.Width/2; ctrlIcon.Location = new Point(iX, ctrlIcon.Location.Y); } }
public void AddBand(string caption, ContentPanel content) { content.outlookBar=this; int index=Controls.Count; BandTagInfo bti=new BandTagInfo(this, index); BandPanel bandPanel=new BandPanel(caption, content, bti); Controls.Add(bandPanel); UpdateBarInfo(); RecalcLayout(bandPanel, index); }