C# CAD交互界面-自定义面板集(四)

运行环境 vs2022 c# cad2016 调试成功

一、引用

cs 复制代码
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Windows;
using System.Windows.Forms;

二、程序说明

创建自定义面板集(PaletteSet)的C#命令方法实现。该方法名为CreatePalette,当在AutoCAD环境中调用此命令时,会执行以下操作:

  1. 获取AutoCAD主应用对象:虽然在这个片段中没有显示具体获取方式,但在实际应用中,通常会通过 Autodesk.AutoCAD.ApplicationServices.Application 类来访问AutoCAD的主应用上下文。

  2. 初始化一个面板集对象:

    • 创建一个名为 "我的窗体" 的 PaletteSet 实例。
    • 设置最小尺寸为 300x300 像素。
  3. 创建用户自定义控件:

    • 新建一个 UserControl 对象实例,这里只是声明了一个通用控件,但实际应用中可能需要填充具体的UI元素和功能。
  4. 将控件添加到面板集中:

    • 分别将同一个控件实例添加到面板集下的两个标签页"My Tab01" 和 "My Tab02"。
  5. 显示面板集:

    • 设置 Visible 属性为 true 来显示整个面板集。
  6. 设置面板样式和透明度:

    • 设置面板样式为 PaletteSetStyles.ShowTabForSingle,这意味着即使面板集中只有一个标签页也会显示标签本身。
    • 设置面板集的不透明度为 90%,这样可以使得面板有一定的透明效果。

总结起来,这个方法会在AutoCAD界面中创建并显示一个包含两个标签页的自定义面板集,并且每个标签页都包含相同的用户自定义控件,同时设置了面板的外观样式和透明度属性。

三、完成代码

cs 复制代码
 [CommandMethod("CreatePalette")]
 public void CreatePalette()
 {
     // 获取 AutoCAD 主应用对象


     // 初始化面板集对象
     PaletteSet ps = new PaletteSet("我的窗体");
     ps.MinimumSize = new System.Drawing.Size(300, 300);

     // 创建用户自定义的窗体或控件
     UserControl ctrl = new UserControl();

     // 添加控件到面板集中
     ps.Add("My Tab01", ctrl);
     ps.Add("My Tab02", ctrl);

     // 显示面板
     ps.Visible = true;

     // 设置面板样式和透明度
     ps.Style = PaletteSetStyles.ShowTabForSingle;
     ps.Opacity = 90;
 }

//感谢大家的点赞,收藏,转发,关注

相关推荐
Hi_kenyon15 小时前
VUE3套用组件库快速开发(以Element Plus为例)二
开发语言·前端·javascript·vue.js
起名时在学Aiifox15 小时前
Vue 3 响应式缓存策略:从页面状态追踪到智能数据管理
前端·vue.js·缓存
一心赚狗粮的宇叔15 小时前
中级软件开发工程师2025年度总结
java·大数据·oracle·c#
李剑一16 小时前
uni-app实现本地MQTT连接
前端·trae
EndingCoder16 小时前
Any、Unknown 和 Void:特殊类型的用法
前端·javascript·typescript
oden16 小时前
代码高亮、数学公式、流程图... Astro 博客进阶全指南
前端
GIS之路16 小时前
GDAL 实现空间分析
前端
cplmlm16 小时前
EF Core使用CodeFirst生成postgresql数据库表名以及字段名用蛇形命名法,而类名仍使用驼峰命名
c#
JosieBook17 小时前
【Vue】09 Vue技术——JavaScript 数据代理的实现与应用
前端·javascript·vue.js