コード例 #1
0
 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);
 }
コード例 #2
0
        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 - 8);
        }