识别在 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();
}
我正在使用 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();
}