Ribbon添加,难在多个dll的路径添加。
本文制作功能为:情况二
参考文章:
C#开发奇技淫巧三:把dll放在不同的目录让你的程序更整洁
C#反射中Assembly.Load及Assembly.Load.CreateInstance方法介绍
C# 程序中加载dll文件,根据dll名称寻找dll文件路径并load
AdWindows.dll 之 应用于独立程序的Ribbon风格
最终参考:
C# 获取当前的 dll 所在的路径
情况一:
只用一个程序集,生成一个dll文件。所有功能放在同一个程序集里,此时Ribbon.cs完美运行。且案例很多。
情况二:
多个程序集,生成多个dll文件。
将Ribbon.dll和其他功能的dll都放在同一个文件夹下方。通过获取当前Ribbon.dll所在路径,完成其他dll路径的添加。
【注意】记得加分割线
assemblyName = AssemblyDirectory + "\\" + "CheckElbow.dll"; panel.AddItem(BuildPushButtonData(name, text, assemblyName, className, tooltip));
public static string AssemblyDirectory { get { string codeBase = Assembly.GetExecutingAssembly().CodeBase; UriBuilder uri = new UriBuilder(codeBase); string path = Uri.UnescapeDataString(uri.Path); return Path.GetDirectoryName(path); } }