c# cad二次开发 ribbon界面 给CAD加个菜单栏

using System;
using System.Collections.Generic;
using System.Text;
using System.Text;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Runtime;
using System.Linq;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.Windows;
using Autodesk.AutoCAD.GraphicsInterface;
using System.Windows.Media.Imaging;
using Autodesk.Internal.Windows;
using System.IO;
using static Autodesk.AutoCAD.Internal.LayoutContextMenu;

namespace _9_ribbon界面
{
public class ProgramClass
{
[CommandMethod(“yerb”)]
public void yerb()
{
//获取当前程序所在的文件路径
curpath.curPath = Path.GetDirectoryName(this.GetType().Assembly.Location) + “\”;

        RibbonControl ribbonctrl = ComponentManager.Ribbon;RibbonTab tab = ribbonctrl.addtab("DK", "ACAD.DK", true);RibbonPanelSource panlsource = tab.addpanel("绘图");RibbonButton btn = new RibbonButton();btn.Text = "直线";//按钮名称btn.Name = "直线";//按钮的提示信息btn.ShowText = true;//设置按钮名称可见////设置按钮图标string imgname = curpath.curPath + "image\\back alt.ico";Uri uri = new Uri(imgname);BitmapImage img = new BitmapImage(uri);btn.Image = img;//按钮图片btn.LargeImage = img;//按钮大图片btn.ShowImage = true;//显示图片btn.Size = RibbonItemSize.Large;//按钮尺寸btn.Orientation = System.Windows.Controls.Orientation.Vertical;//按钮排列方式btn.MouseEntered += Btn_MouseEntered;//调用鼠标进入事件btn.MouseLeft += Btn_MouseLeft;//调用鼠标退出事件//设置按钮提示信息RibbonToolTip toolTip = new RibbonToolTip();toolTip.Title = "直线";toolTip.Content = "创建直线段";toolTip.Command = "Line";toolTip.ExpandedContent = "使用line命令,创建直线段";string imgname1 = curpath.curPath + "image\\k1.ico";Uri uri1 = new Uri(imgname1);BitmapImage img1 = new BitmapImage(uri1);toolTip.ExpandedImage = img1;btn.ToolTip = toolTip;////按钮关联命令btn.CommandHandler = new RibbonCommandHandler();btn.CommandParameter = "LIne ";//点击按钮执行命令panlsource.Items.Add(btn);}/// <summary>/// 鼠标退出按钮事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Btn_MouseLeft(object sender, EventArgs e){RibbonButton btn = (RibbonButton)sender;string imgname = curpath.curPath + "image\\back alt.ico";Uri uri = new Uri(imgname);BitmapImage img = new BitmapImage(uri);btn.Image = img;//按钮图片btn.LargeImage = img;//按钮大图片}/// <summary>/// 鼠标进入按钮事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>/// <exception cref="NotImplementedException"></exception>private void Btn_MouseEntered(object sender, EventArgs e){   RibbonButton btn = (RibbonButton)sender;//设置按钮图标string imgname = curpath.curPath + "image\\forward alt.ico";Uri uri = new Uri(imgname);BitmapImage img = new BitmapImage(uri);btn.Image = img;//按钮图片btn.LargeImage = img;//按钮大图片}
}

}


c# cad二次开发 ribbon界面 给CAD加个菜单栏相关推荐

  1. cad 二次开发 插入图片_CAD如何加载二次开发程序?

    CAD给我们设计师提供了众多的绘图修改命令,满足了我们一般的绘图应用,但是有时候这些命令应用起来有时候并不太方便,为了使我们的绘图命令更加方便快捷,有时候我们需要加载二次开发程序;例如:lisp.VB ...

  2. CAD二次开发C#.Net编程-CAD创建右键菜单

    CAD二次开发&C#.Net编程-CAD创建右键菜单 private static ContextMenuExtension m_ContextMenu;//装载右键菜单public stat ...

  3. cad二次开发——自动运行dll,加载菜单(收集)

    1.自动加载dll的方法(个人觉得下面第4个方法会更方便) cad加载dll_实现CAD插件启动自动加载的三种方法_weixin_39774556的博客-CSDN博客从网上或者别处淘来的CAD插件,效 ...

  4. python能做cad二次开发吗_做CAD二次开发有没有前途和钱途?

    原标题:做CAD二次开发有没有前途和钱途? 作为上海垂杨信息科技的苦逼小编一枚,特别羡慕从事技术开发的同事,为啥呀,因为他们工资高,奖金多呗.最近一朋友问我,他大学学得C#,在学校的就业培训课上,就业 ...

  5. Cad二次开发之未知命令

    一.背景 小伙伴们在使用Cad二次开发时,使用NetLoad加载命令之后,再输入对应命令时,却出现未知命令,这是什么原因呢? 二.解决思路 很有可能是因为类前没有用public 修饰 源代码 clas ...

  6. C# Cad二次开发新手入门系列教程(一)开发环境搭建

    目录 前言 开发需要做什么准备? 编写自己的第一个程序 前言 本课程主要针对刚接触Cad二次开发或者准备入门Cad二次开发的朋友,笔者是用的C#进行开发,在该系列教程内,笔者会带着大家从最基础的开发到 ...

  7. c# cad二次开发实现注记搜索跟扩展属性搜索,并点击即可定位到位置,添加了界面操作

    c# cad二次开发实现注记搜索跟扩展属性搜索,并点击即可定位到位置,添加了界面操作 在这里插入图片描述 using Autodesk.AutoCAD.DatabaseServices; using ...

  8. c# cad 二次开发 类库 对话框 将frame界面添加到类库中

    c# cad 二次开发 类库 对话框 将frame界面添加到类库中 using System; using System.Collections.Generic; using System.Compo ...

  9. c#CAD二次开发全套视频目录

    本人非专业编程人员,设计院画图民工一名.自学CAD编程,也写了一些小程序!初期学习lisp编程语言,基本了解CAD各中开发模块,写过一些程序!前段时间自学C#CAD二次开发,遍布网上无教学视频.经过自 ...

最新文章

  1. Spring之IoC总结帖
  2. [转]LoadRunner 各个指标分析
  3. BZOJ-1934-Vote善意的投票-SHOI2007
  4. 项目开发总结报告(GB8567——88)
  5. linux 常用命令05 常用的压缩与解压缩文件
  6. P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题(2022.02.02) --- python3实现
  7. aliyun托管kubernetes部署postgress
  8. 【Webcam设计】 ffmpeg与x264差异
  9. 常用的3款光学仿真软件分析---来源网络
  10. 微软跟投,估值31.5亿美元的光量子计算公司刚刚完成4.5亿美元融资
  11. 海思hi3716c机顶盒接usb摄像头和usb无线耳机时,无线耳机有时没有声音
  12. Android USB OTG功能如何打开及实现
  13. WXP连接Vista或Win7远程桌面
  14. 1800元龙芯笔记本试用报告 仅是PIII水平?
  15. 【优化系列】汇编优化技术(九):WebAssembly(wasm)平台SIMD优化
  16. VB6.0 遇到“不能加载 MSCOMCTL.ocx“ 问题处理
  17. ubuntu如何连接显示器
  18. FLK神秘猜心术游戏源码(WinForm)
  19. Masterboxan INC智能化资产配置模式上线,全方位提升数字化金融服务
  20. 战网客户端 linux,暴雪战网客户端 | Blizzard Battle.net

热门文章

  1. 解决在cmd情况下无法连接MySQL情况(无脑操作教程)
  2. 计算机维修工教材TXT,计算机维修工.ppt
  3. 【XSY2485】MST(最小生成树+倍增lca+并查集)
  4. Laravel :Laravel、Symfony、 Zend 对比测试
  5. yolov7_obb在WIN10下训练自己的数据集
  6. android 画板功能
  7. 正数的原码,反码,补码
  8. 应用向左,理论向右,计算机2021的冰火两重天
  9. Activiti7工作流引擎:基础篇(一) 简介与IDEA插件安装
  10. 如何直接打印int[]数组