Microsoft.Office.Interop.Visio + 自动连接 + 箭头

Microsoft.Office.Interop.Visio + AutoConnect + Arrow

我想知道是否有一种方法可以使用 Microsoft.Office.Interop.Visio 中的自动连接来连接两个形状,并使两者之间的 link 具有从第一个形状到第二个形状的箭头.

如果无法使用 AutoConnect 建立此连接,您是否知道另一种将箭头连接到两个 Shape 的方法?

我尝试使用的方法如下:

private void Connect Drawings (IVisio.Shape shape1, IVisio.Shape shape2, IVisio.VisAutoConnectDir dir)
{
     shape1.AutoConnect (shape2, dir);
}

Visio Print

感谢您在评论中澄清。箭头未显示的原因可能是因为该页面设置了 'No theme' 主题,并且此方案下的连接器默认不显示箭头。因此,您可以从模板开始或使用所需的主题集绘图,或者在代码中将其设置为放置的一部分。

这是一个示例 (using LINQPad):

void Main()
{
    var vApp = MyExtensions.GetRunningVisio();
    var vPag = vApp.ActivePage;
    var shp1 = vPag.DrawRectangle(2,5,3,4.5);
    var shp2 = vPag.DrawRectangle(4,7,5,6.5);
    shp1.AutoConnect(shp2, Visio.VisAutoConnectDir.visAutoConnectDirRight);
    //Assuming 'No theme' is set for the page, no arrow will 
    //be shown so change theme to see connector arrow
    vPag.SetTheme("Office Theme");
}

如果您对一些 'theme' 相关背景阅读感兴趣,我有几篇关于这个主题的帖子:http://visualsignals.typepad.co.uk/vislog/2013/04/using-themes-in-visio-2013.html