使用SwEx.AddIn框架在SOLIDWORKS任务窗格中托管用户控件
使用SwEx.AddIn框架在SOLIDWORKS任务窗格面板中托管WinForms用户控件 toc-group-name: labs-solidworks-swex
sidebar_position: 0
通过调用ISwAddInEx.CreateTaskPane方法,可以在任务窗格中托管任何System.Windows.Forms.UserControl。
MyControlHost ctrl;
var taskPaneView = CreateTaskPane<MyControlHost>(out ctrl);
支持COM可见和不可见的控件。
public partial class MyControlHost : UserControl
{
public IssuesControlHost()
{
InitializeComponent();
}
}
...
[ComVisible(true)]
public partial class MyComVisibleControlHost : UserControl
{
public IssuesControlHost()
{
InitializeComponent();
}
}
建议在托管Windows Presentation Foundation (WCF)控件时使用COM可见控件,因为在不可见的控件中可能无法正确处理按键事件。
定义命令
可以定义任务窗格命令以添加为按钮。需要声明包含命令的枚举,并提供命令处理程序。
public enum TaskPaneCommands_e
{
Command1
}
...
TaskPaneControl ctrl;
var taskPaneView = CreateTaskPane<TaskPaneControl, TaskPaneCommands_e>(OnTaskPaneCommandClick, out ctrl);
...
private void OnTaskPaneCommandClick(TaskPaneCommands_e cmd)
{
switch (cmd)
{
case TaskPaneCommands_e.Command1:
//TODO: 处理命令
break;
}
}
可以使用TitleAttribute和IconAttribute或TaskPaneIconAttribute为命令指定工具提示和图标。
可以使用TaskPaneStandardButtonAttribute属性设置标准图标,其中的值在swTaskPaneBitmapsOptions_e枚举中定义。
请参见下图,了解任务窗格元素的图示。
- 托管在任务窗格中的WinForms用户控件
- 带有自定义图标的任务窗格按钮
- 带有默认图标的任务窗格按钮
- 带有标准swTaskPaneBitmapsOptions_Back图标的任务窗格按钮
- 带有标准swTaskPaneBitmapsOptions_Next图标的任务窗格按钮
- 带有标准swTaskPaneBitmapsOptions_Ok图标的任务窗格按钮
- 带有标准swTaskPaneBitmapsOptions_Help图标的任务窗格按钮
- 带有标准swTaskPaneBitmapsOptions_Options图标的任务窗格按钮
- 带有标准swTaskPaneBitmapsOptions_Close图标的任务窗格按钮
- 任务窗格按钮的工具提示
- 任务窗格选项卡的自定义图标
- 任务窗格选项卡的默认图标
- 任务窗格选项卡的工具提示