Source/DockSiteDocumentLayout.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Drawing;
using System.Collections;
using System.Windows.Forms;
namespace DevComponents.DotNetBar
{
/// <summary>
/// Provides fill layout for the dock site.
/// </summary>
public class DockSiteDocumentLayout
{
private int m_BarSpacing=2;
private eOrientation m_Orientation=eOrientation.Horizontal;
public DockSiteDocumentLayout()
{
}
public void Layout(DockSite site)
{
if(m_Orientation==eOrientation.Horizontal)
LayoutHorizontal(site);
//else
// LayoutVertical(site);
}
private void LayoutHorizontal(DockSite site)
{
int height=site.ClientRectangle.Height;
Rectangle containerRectangle=site.ClientRectangle;
int totalWidth=0, specifiedWidth=0;
int variableCount=0;
ArrayList visibleBars=new ArrayList();
// Calculate fixed/specified and variable width
for(int i=0;i<site.Controls.Count;i++)
{
Bar bar=site.Controls[i] as Bar;
bar.SetDockLine(0);
if(bar==null || !bar.Visible)
continue;
if(bar.SplitDockWidth>0)
{
totalWidth+=bar.SplitDockWidth;
specifiedWidth+=bar.SplitDockWidth;
}
else
{
totalWidth+=bar.MinimumSize(m_Orientation).Width;
variableCount++;
}
if(i+1<site.Controls.Count)
totalWidth+=m_BarSpacing;
visibleBars.Add(bar);
}
if(specifiedWidth>0 && visibleBars.Count-variableCount-1>0)
specifiedWidth+=(visibleBars.Count-variableCount-1)*m_BarSpacing;
后面还有 43 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。