Source/TabItemLayoutManager.cs

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Drawing;
using DevComponents.UI.ContentManager;

namespace DevComponents.DotNetBar
{
	/// <summary>
	/// Summary description for TabItemLayoutManager.
	/// </summary>
	public class TabItemLayoutManager:DevComponents.UI.ContentManager.BlockLayoutManager
	{
		private int m_TextPadding=4;
		private int m_ImagePadding=2;
		private int m_PaddingHeight=4;
		private int m_PaddingWidth=0;
		private bool m_HorizontalText=false;
		private int m_SelectedPaddingWidth=0;
        private Size m_FixedTabSize = Size.Empty;
        private bool m_CloseButtonOnTabs = false;
        private Size m_CloseButtonSize = new Size(11, 11);
        private int m_CloseButtonSpacing = 3;
        private TabStrip m_TabStrip = null;

		public TabItemLayoutManager()
		{
		}

        public TabItemLayoutManager(TabStrip tabStrip)
        {
            m_TabStrip = tabStrip;
        }

		/// <summary>
		/// Resizes the content block and sets it's Bounds property to reflect new size.
		/// </summary>
		/// <param name="block">Content block to resize.</param>
        public override void Layout(IBlock block, Size availableSize)
		{
			if(this.Graphics==null)
				throw(new InvalidOperationException("Graphics property must be set to valid instance of Graphics object."));

			TabItem tab=block as TabItem;
			if(!tab.Visible)
				return;

			int width=0;
			int height=0;
            bool isVertical = (tab.Parent != null && (tab.Parent.TabAlignment == eTabStripAlignment.Left || tab.Parent.TabAlignment == eTabStripAlignment.Right) && !m_HorizontalText);

			eTabStripStyle style=tab.Parent.Style;
			eTextFormat strFormat=eTextFormat.Default;

			Image tabImage=tab.GetImage();
			if(tab.Icon!=null)
			{
				width+=tab.IconSize.Width;
                if (style != eTabStripStyle.OneNote && style != eTabStripStyle.Office2007Document)
					width+=m_ImagePadding;
				height=tab.IconSize.Height+m_PaddingHeight;
			}
后面还有 135 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

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