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