Определите тип элемента управления, выбранного для объекта DiagramControl - PullRequest
0 голосов
/ 21 марта 2020

Я использую DiagramControl инструментов dev express. Когда я добавляю фигуру, вставляю в нее изображения и текстовое поле. Как определить тип элемента управления, который выбран пользователем в его событии SelectionChanged? Когда я использую итератор массива chartControl.Items

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

, если его DiagramImage, тогда он работает, но если это DiagramShape, он выдает исключение. Мне нужно написать что-то вроде переключателя в выбранном элементе формы, который дает тип Shape в таких случаях, как его Shape или Image или Text.

1 Ответ

1 голос
/ 23 марта 2020

Можете ли вы просто попробовать что-то вроде этого:

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();
}
...