Source/Ribbon/DesignerSupport.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using DevComponents.DotNetBar.Design;
namespace DevComponents.DotNetBar
{
/// <summary>
/// Summary description for DesignerSupport.
/// </summary>
internal class DesignerSupport
{
public static ItemContainer CreateItemContainer(IDesignerServices designer, BaseItem parent, eOrientation containerOrientation)
{
IDesignerHost dh=designer.GetService(typeof(IDesignerHost)) as IDesignerHost;
IComponentChangeService cc=designer.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
if(dh==null || parent==null || cc==null)
return null;
ItemContainer c=null;
DesignerTransaction trans=dh.CreateTransaction("New DotNetBar Item Container");
try
{
c=dh.CreateComponent(typeof(ItemContainer)) as ItemContainer;
TypeDescriptor.GetProperties(c)["LayoutOrientation"].SetValue(c,containerOrientation);
cc.OnComponentChanging(parent,TypeDescriptor.GetProperties(c)["SubItems"]);
parent.SubItems.Add(c);
cc.OnComponentChanged(parent,TypeDescriptor.GetProperties(c)["SubItems"],null,null);
}
finally
{
if(!trans.Canceled)
trans.Commit();
}
return c;
}
public static RibbonTabItemGroup CreateRibbonTabItemGroup(RibbonStrip strip, IServiceProvider provider)
{
IDesignerHost dh=provider.GetService(typeof(IDesignerHost)) as IDesignerHost;
IComponentChangeService cc=provider.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
if(dh==null || cc==null) return null;
DesignerTransaction trans=dh.CreateTransaction("New RibbonTabItemGroup");
RibbonTabItemGroup group=null;
try
{
group=dh.CreateComponent(typeof(RibbonTabItemGroup)) as RibbonTabItemGroup;
cc.OnComponentChanging(strip,TypeDescriptor.GetProperties(strip)["TabGroups"]);
strip.TabGroups.Add(group);
cc.OnComponentChanged(strip,TypeDescriptor.GetProperties(strip)["TabGroups"],null,null);
SetDefaults(group);
}
catch
{
trans.Cancel();
后面还有 60 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。