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 算力,解读结果公开显示在下面。

还没有人解读过这个文件。