跳到主要内容

使用SwEx.AddIn框架在SOLIDWORKS任务窗格中托管用户控件

使用SwEx.AddIn框架在SOLIDWORKS任务窗格面板中托管WinForms用户控件 toc-group-name: labs-solidworks-swex

通过调用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;
}
}

可以使用TitleAttributeIconAttributeTaskPaneIconAttribute为命令指定工具提示和图标。

可以使用TaskPaneStandardButtonAttribute属性设置标准图标,其中的值在swTaskPaneBitmapsOptions_e枚举中定义。

请参见下图,了解任务窗格元素的图示。

任务窗格控件

  1. 托管在任务窗格中的WinForms用户控件
  2. 带有自定义图标的任务窗格按钮
  3. 带有默认图标的任务窗格按钮
  4. 带有标准swTaskPaneBitmapsOptions_Back图标的任务窗格按钮
  5. 带有标准swTaskPaneBitmapsOptions_Next图标的任务窗格按钮
  6. 带有标准swTaskPaneBitmapsOptions_Ok图标的任务窗格按钮
  7. 带有标准swTaskPaneBitmapsOptions_Help图标的任务窗格按钮
  8. 带有标准swTaskPaneBitmapsOptions_Options图标的任务窗格按钮
  9. 带有标准swTaskPaneBitmapsOptions_Close图标的任务窗格按钮
  10. 任务窗格按钮的工具提示
  11. 任务窗格选项卡的自定义图标
  12. 任务窗格选项卡的默认图标
  13. 任务窗格选项卡的工具提示