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

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

相关推荐
zwjapple36 分钟前
docker-compose一键部署全栈项目。springboot后端,react前端
前端·spring boot·docker
枯萎穿心攻击37 分钟前
响应式编程入门教程第二节:构建 ObservableProperty<T> — 封装 ReactiveProperty 的高级用法
开发语言·unity·c#·游戏引擎
Eiceblue2 小时前
【免费.NET方案】CSV到PDF与DataTable的快速转换
开发语言·pdf·c#·.net
像风一样自由20203 小时前
HTML与JavaScript:构建动态交互式Web页面的基石
前端·javascript·html
aiprtem3 小时前
基于Flutter的web登录设计
前端·flutter
浪裡遊4 小时前
React Hooks全面解析:从基础到高级的实用指南
开发语言·前端·javascript·react.js·node.js·ecmascript·php
why技术4 小时前
Stack Overflow,轰然倒下!
前端·人工智能·后端
GISer_Jing4 小时前
0704-0706上海,又聚上了
前端·新浪微博
止观止4 小时前
深入探索 pnpm:高效磁盘利用与灵活的包管理解决方案
前端·pnpm·前端工程化·包管理器
whale fall4 小时前
npm install安装的node_modules是什么
前端·npm·node.js