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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。