我想知道是否有一种方法可以使用AutoConnect从Microsoft.Office.Interop.Visio连接两个形状,并使两者之间的链接具有从第一个到第二个形状的箭头。
如果无法使用AutoConnect建立此连接,您是否知道将箭头连接到这两个形状的另一种方法?
我试图使用的方法如下:
private void Connect Drawings (IVisio.Shape shape1, IVisio.Shape shape2, IVisio.VisAutoConnectDir dir)
{
shape1.AutoConnect (shape2, dir);
}发布于 2018-09-11 14:05:45
谢谢你在评论中的澄清。箭头头没有显示的原因可能是因为该页面具有“无主题”主题集,并且此方案下连接器的默认设置不是显示箭头头。因此,您可以从模板开始,或者使用所需的主题集绘制,或者在代码中将其设置为拖放的一部分。
下面是一个示例(使用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");
}如果你对一些与主题相关的背景阅读感兴趣,我有几篇关于这个主题的文章,首先是这样一个:http://visualsignals.typepad.co.uk/vislog/2013/04/using-themes-in-visio-2013.html
https://stackoverflow.com/questions/52265357
复制相似问题