Source/BarUtilities.cs

(开头部分) 10KB

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

using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Drawing.Text;

namespace DevComponents.DotNetBar
{
	/// <summary>
	/// Represents class with static functions that provide commonly used utility functions when working with
	/// Bar objects and items hosted by Bar object.
	/// </summary>
	public class BarUtilities
    {
        #region Docking
        /// <summary>
		/// Sets the visible property of DockContainerItem and hides the bar if the given item is the last visible item on the bar.
		/// It will also automatically display the bar if bar is not visible.
		/// </summary>
		/// <param name="item">DockContainerItem to set visibility for.</param>
		/// <param name="visible">Indicates the visibility of the item</param>
		public static void SetDockContainerVisible(DevComponents.DotNetBar.DockContainerItem item, bool visible)
		{
			if(item==null || item.Visible==visible)
				return;

			DevComponents.DotNetBar.Bar containerBar=item.ContainerControl as DevComponents.DotNetBar.Bar;

			if(containerBar==null)
			{
				// If bar has not been assigned yet just set the visible property and exit
				item.Visible=visible;
				return;
			}

			DotNetBarManager manager=containerBar.Owner as DotNetBarManager;
			if(manager!=null)
				manager.SuspendLayout=true;

			try
			{
				int visibleCount=containerBar.VisibleItemCount;

				if(visible)
				{
					item.Visible=true;
					if(!containerBar.AutoHide && !containerBar.Visible && visibleCount<=1)
					{
						containerBar.Visible=true;
						if(containerBar.PropertyBag.ContainsKey(BarPropertyBagKeys.AutoHideSetting))
						{
							containerBar.PropertyBag.Remove(BarPropertyBagKeys.AutoHideSetting);
							containerBar.AutoHide=true;
						}
					}
				}
				else
				{
                    if (visibleCount <= 1)
                    {
                        if (containerBar.PropertyBag.ContainsKey(BarPropertyBagKeys.AutoHideSetting))
后面还有 224 行代码,解锁后查看完整代码

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

AI 解读 AI

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

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