在学习revit制作下拉框时,需要分为三个步骤:

1.创建一个面板(panel)。

RibbonPanel panel10 = application.CreateRibbonPanel(Globals.DiagnosticsTabName, "图纸生成");
2.给面板添加组,实现下拉框的效果  。

AddPulldownButtonGroup1(panel10);

3.在组中添加单独的按钮。

 private void AddPulldownButtonGroup1(RibbonPanel panel)
{
if ( == )
{
PulldownButtonData group1Data = new PulldownButtonData("PulldownGroup1", "门窗");
PulldownButton group1 = panel.AddItem(group1Data) as PulldownButton;
BitmapImage largeimage41 = new BitmapImage();
largeimage41.BeginInit();
largeimage41.UriSource = new Uri(@"C:\Kingcarrier\icon\mengchuang.png");
largeimage41.DecodePixelWidth = ;
largeimage41.DecodePixelHeight = ;
largeimage41.EndInit();
group1.LargeImage = largeimage41;
PushButtonData itemData13 = new PushButtonData("itemName13", "插入单门", FileUtility.GetAssemblyFullName(), typeof(door).FullName);
PushButton item13 = group1.AddPushButton(itemData13) as PushButton;
item13.ToolTip = itemData13.Text; // Can be changed to a more descriptive text.
item13.Image = new BitmapImage(new Uri(@"C:\Kingcarrier\icon\报价清单.png"));
item13.LargeImage = new BitmapImage(new Uri(@"C:\Kingcarrier\icon\报价清单.png")); PushButtonData itemData131 = new PushButtonData("itemName131", "改门方向", FileUtility.GetAssemblyFullName(), typeof(changedoor).FullName);
PushButton item131 = group1.AddPushButton(itemData131) as PushButton;
item131.ToolTip = itemData131.Text; // Can be changed to a more descriptive text.
item131.Image = new BitmapImage(new Uri(@"C:\Kingcarrier\icon\报价清单.png"));
item131.LargeImage = new BitmapImage(new Uri(@"C:\Kingcarrier\icon\报价清单.png"));
group1.AddSeparator();
PushButtonData itemData132 = new PushButtonData("itemName132", "添加H件", FileUtility.GetAssemblyFullName(), typeof(addHtoWindow).FullName);
PushButton item132 = group1.AddPushButton(itemData132) as PushButton;
item132.ToolTip = itemData132.Text; // Can be changed to a more descriptive text.
item132.Image = new BitmapImage(new Uri(@"C:\Kingcarrier\icon\报价清单.png"));
item132.LargeImage = new BitmapImage(new Uri(@"C:\Kingcarrier\icon\报价清单.png"));
group1.AddSeparator();
PushButtonData itx1 = new PushButtonData("itemName1", "插入单窗", FileUtility.GetAssemblyFullName(), typeof(window).FullName);
PushButton it1 = group1.AddPushButton(itx1) as PushButton;
it1.ToolTip = itx1.Text; // Can be changed to a more descriptive text.
it1.Image = new BitmapImage(new Uri(@"C:\Kingcarrier\icon\报价清单.png"));
it1.LargeImage = new BitmapImage(new Uri(@"C:\Kingcarrier\icon\报价清单.png"));
group1.AddSeparator();
PushButtonData itx2 = new PushButtonData("itemName2", "插入连窗", FileUtility.GetAssemblyFullName(), typeof(twowindow).FullName);
PushButton it2 = group1.AddPushButton(itx2) as PushButton;
it2.ToolTip = itx2.Text; // Can be changed to a more descriptive text.
it2.Image = new BitmapImage(new Uri(@"C:\Kingcarrier\icon\报价清单.png"));
it2.LargeImage = new BitmapImage(new Uri(@"C:\Kingcarrier\icon\报价清单.png"));
}
panel.AddSeparator();

同样的在组中可以设计组的名称然后再去设置组中的每一个按钮,并且实现相应的功能。

Revit 命令添加下拉框的更多相关文章

  1. DateGridView中添加下拉框列并实现数据绑定、更改背景色

    1.添加下拉框 代码实现==> using System; using System.Collections.Generic; using System.Windows.Forms; names ...

  2. c# dataGridView cell添加下拉框

    应用场景: dataGridView需要某一个cell变成下拉框样式. 思路详解: dataGridVie添加固定格式的row. 代码: DataGridViewRow row = new DataG ...

  3. Excel中添加下拉框

    数据->数据验证->数据验证 设置—>允许下拉框中选择序列,来源中写下拉选项,每个选项之间用逗号隔开

  4. .net添加下拉框

    aspx文件 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DropDownL ...

  5. jquery 动态添加下拉框 需要增加 煊染 selectmenu("refresh");

    若通过js动态选择下拉框的值必须刷新下拉框,例如:var selArray = $("select#sel");selArray[0].selectedIndex = 1;selA ...

  6. 为Ext添加下拉框和日期组件

    Ext.onReady(function(){ var config = { fields:['module'], data:[['新建'],['删除'],['增加']}; var store = n ...

  7. 在ALV界面添加下拉框

    1.在alv界面表单属性中设置 if wa_fieldcat-fieldname = 'YC_MARK'.              wa_fieldcat-edit = 'X'.           ...

  8. DataTables给每一列添加下拉框搜索

    $(document).ready(function() { $('#example').DataTable( { initComplete: function () { var api = this ...

  9. table中添加下拉框

    { file: 'usename', title: '下发用户', width:"20%", align: 'center', templet: function (d) { va ...

随机推荐

  1. 64位ubuntu16.04系统安装tensorflow_cpu

    ubuntu16.04安装tensorflow_cpu 一.安装anaconda: ①.下载anaconda包:Anaconda3-5.2.0-Linux-x86_64.sh 这是python3.6. ...

  2. Restful levels&HATEOAS详解

    RESTful: Rest是一种软件架构风格.设计风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等 ...

  3. 统计数字(关联容器map)

    题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统 ...

  4. 《Java核心技术(卷一)》读书笔记——第六章:内部类

    1.      内部类的概念? 类中类 2.      为什么要用内部类? 内部类的方法可以访问外部类的实例域 内部类对外部类的同一个包中的类实现了隐藏 匿名内部类在“想要定义一个回调函数却又不想编写 ...

  5. 企业SQL笔试

    Student(SID, Sname, Sage, Ssex) 学生表        Course(CID, Cname, TID) 课程表        SC(SID, CID, score) 成绩 ...

  6. etectMultiScale(gray, 1.2,3,CV_HAAR_SCALE_IMAGE,Size(30, 30))

    # 函数原型detectMultiScale(gray, 1.2,3,CV_HAAR_SCALE_IMAGE,Size(30, 30)) # gray需要识别的图片 # 1.03:表示每次图像尺寸减小 ...

  7. edgedb 内部pg 数据存储的探索 (五) 运行进程列表信息

    做为一个简单的记录,方便后期分析学习 当前包含了一个timescale 的extension 可以不用关注 信息 ps -ef |grep edgedb edgedb 10559 24858 0 4月 ...

  8. 使用User Primary Email作为GUID的问题

    最近发现有人使用CRM的user primary email作为GUID, 并且做了plugin来控制user primary email. 这样做法是非常有问题而且会影响同名的再次注册的用户. 假如 ...

  9. jdk1.8api帮助文档,转载

    链接:https://pan.baidu.com/s/1jkDC68t6ha3PrSbx2BMevQ 密码:o425 转自https://blog.csdn.net/weixin_37012881/a ...

  10. WinEdt和LaTeX的简介

    LaTex 是一款Tex软件, 是一款专业的 pdf 排版软件,功能强大,上手简单,是老板折磨新同学的一件非常好用的利器,能让你仅用两个晚上就达到肾虚的效果. LaTex的软件由MikTex以及编译器 ...