本文整理汇总了C#中Microsoft.Office.Interop.Visio.DropConnected方法的典型用法代码示例。如果您正苦于以下问题:C# Microsoft.Office.Interop.Visio.DropConnected方法的具体用法?C# Microsoft.Office.Interop.Visio.DropConnected怎么用?C# Microsoft.Office.Interop.Visio.DropConnected使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Office.Interop.Visio
的用法示例。
在下文中一共展示了Microsoft.Office.Interop.Visio.DropConnected方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: VisualizeURP
//.........这里部分代码省略.........
{
if (maxStrLenPerms == 0)
strPerms.Add(String.Format("Name: {0}, Policy_Id: {1}", p.Name, p.Policy_Id));
else
strPerms.Add(String.Format("\nName: {0}, Policy_Id: {1}", p.Name, p.Policy_Id));
if (strPerms.Last().Length > maxStrLenPerms)
maxStrLenPerms = strPerms.Last().Length;
}
}
shape = targetPage.Drop(stencilBasicU.Masters["Rectangle"],centerX, centerY += H + gap);
double charSize = shape.get_Cells("Char.Size").ResultIU;
shape.get_Cells("Height").ResultIU = charSize * strPerms.Count + 2 * border;
shape.get_Cells("Width").ResultIU = charSize * maxStrLenPerms;
shape.Text = String.Concat(strPerms);
shapePermissions.Add(shape);
strPerms.Clear();
maxStrLenPerms = 0;
}
//Left-Side Alignment of Permission Rectangles
if (shapePermissions.Count != 0)
{
foreach (var sh in shapePermissions)
selection.Select(sh, (short)Visio.VisSelectArgs.visSelect);
selection.Align(Visio.VisHorizontalAlignTypes.visHorzAlignLeft,
Visio.VisVerticalAlignTypes.visVertAlignNone);
selection.DeselectAll();
}
// Drop Roles (Use Case Objects)
shapeRoles = new List<Visio.Shape>();
int i = 0;
foreach (var rp in rpSet)
{
shape = targetPage.DropConnected(stencilUMLUseCase.Masters["Use Case"],
shapePermissions.ElementAt(i),
Visio.VisAutoConnectDir.visAutoConnectDirLeft);
shape.Text = String.Format("name: {0}|policy: {1}|cardinality:{2}",
rp.Key.Name, rp.Key.Policy_Id, rp.Key.Cardinality);
shapeRoles.Add(shape);
selection.Select(shape, (short)Visio.VisSelectArgs.visSelect);
i++;
}
// Drop a container
shapeContainer = targetPage.DropContainer(stencilUMLUseCase.Masters["Subsystem"],
(shapeRoles.Count==0?null:selection));
shapeContainer.Text = (shapeRoles.Count==0?"NO ROLE AUTHORIZED":"Authorized roles");
selection.DeselectAll();
// Move Container to the left to avoid overlapping with Permission Rectangles
selection.Select(shapeContainer, (short)Visio.VisSelectArgs.visSelect);
selection.Move(-1, 0);
selection.DeselectAll();
// Get height of the container and add a User to the left.
// Can't use general method DropConnected, cause the container doesn't have such a property
double containerH = shapeContainer.get_Cells("Height").ResultIU;
double containerW = shapeContainer.get_Cells("Width").ResultIU;
double containerXPos = shapeContainer.get_Cells("PinX").ResultIU;
double containerYPos = shapeContainer.get_Cells("PinY").ResultIU;
shape = targetPage.Drop(stencilUMLUseCase.Masters["Actor"], containerXPos - containerW / 2 - 1, containerYPos);
shape.Text = String.Format("USER\nName: {0}\nPassword: {1}\nPolicy_Id: {2}",
user_in.Name,
user_in.Password,
user_in.Policy_Id);
shapeConnector = targetPage.Drop(stencilUMLUseCase.Masters["Association"], 0, 0);
ConnectShapes(shape, shapeContainer, shapeConnector);
// Report on contents of container
containerProperties = shapeContainer.ContainerProperties;
containerMembers = containerProperties.GetMemberShapes((int)Visio.VisContainerFlags.visContainerFlagsDefault);
foreach (int member in containerMembers)
{
System.Diagnostics.Debug.WriteLine(targetPage.Shapes.get_ItemFromID(member).NameU +
" |---> " + targetPage.Shapes.get_ItemFromID(member).Text);
}
// Finalize
targetPage.Application.ActiveWindow.DeselectAll();
targetPage.CenterDrawing();
stencilUMLUseCase.Close();
//targetPage.Name = String.Format("URP | Usr:{0};Pol:{1}",user_in.Name,user_in.Policy_Id);
targetDocument.DiagramServicesEnabled = prevDiagramServices;
}
catch (Exception err)
{
System.Diagnostics.Debug.WriteLine(err.Message);
// Return the Diagram Services status to its previous state if it was set in the try block.
if (currentDiagramServices != -1 && targetDocument != null)
targetDocument.DiagramServicesEnabled = currentDiagramServices;
throw;
//return Program.ExitCode.Error;
}
return Program.ExitCode.Success;
}