识别在 DiagramControl 对象上选择的控件类型

Identify the type of control selected on DiagramControl object

我正在使用 devexpress 工具的 DiagramControl。当我添加形状时,在其上插入图像和文本字段。如何检测用户在其 SelectionChanged 事件中选择的控件类型? 当我使用 diagramControl.Items 数组迭代器

for (int iControlIndex = 0; iControlIndex < diagControl1.Items.Count; iControlIndex++)
{    
    (diagControl1.Items[iControlIndex] as DiagramImage)
}

如果它是 DiagramImage,那么它可以工作,但如果它是 DiagramShape,它会给出异常。 我需要在所选的形状项目上写一些类似 switch case 的东西,它在形状或图像或文本等情况下给出形状类型。

你能试试这样吗:

DiagramItem currentItem = diagControl1.Items[iControlIndex];

if (currentItem is DiagramShape)
{
     // Do whatever for DiagramShape
     (currentItem as DiagramShape).DoSomething();
}
else if (currentItem is DiagramConnector)
{
     // Do whatever for DiagramConnector)
     (currentItem as DiagramShape).DoSomething();
}