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;
 }

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

相关推荐
似水明俊德15 小时前
02-C#.Net-反射-面试题
开发语言·面试·职场和发展·c#·.net
漫随流水15 小时前
旅游推荐系统(view.py)
前端·数据库·python·旅游
踩着两条虫16 小时前
VTJ.PRO 核心架构全公开!从设计稿到代码,揭秘AI智能体如何“听懂人话”
前端·vue.js·ai编程
阿蒙Amon17 小时前
C#常用类库-详解SerialPort
开发语言·c#
jzlhll12317 小时前
kotlin Flow first() last()总结
开发语言·前端·kotlin
用头发抵命18 小时前
Vue 3 中优雅地集成 Video.js 播放器:从组件封装到功能定制
开发语言·javascript·ecmascript
似水明俊德18 小时前
02-C#.Net-反射-学习笔记
开发语言·笔记·学习·c#·.net
蓝冰凌18 小时前
Vue 3 中 defineExpose 的行为【defineExpose暴露ref变量】详解:自动解包、响应性与实际使用
前端·javascript·vue.js
奔跑的呱呱牛18 小时前
generate-route-vue基于文件系统的 Vue Router 动态路由生成工具
前端·javascript·vue.js