Это то, что у меня есть и работает правильно:
Диаграмма RangeBar с двумя Сериями, которую я заполняю Точками во время выполнения, основываясь на результатах запроса Oracle.Каждая точка представляет объект данных с рядом свойств.
Я хотел бы добавить к этому следующее:
Для каждой видимой точки на моем графике я хочу, чтобы пользователь былвозможность щелкнуть правой кнопкой мыши точку, чтобы открыть меню с рядом опций.Эти параметры должны вызывать определенные функциональные вызовы со свойством выбранной точки, используемым в качестве параметра в этом функциональном вызове.Затем в этой функции откроется новое окно, в котором будет отображаться некоторая информация, основанная на объекте данных, представленном Точкой, и на элементе меню, по которому щелкнули.
Что я пробовал до сих пор?Я начал дурачиться с ContextMenu, основываясь на информации в этой теме: Добавление меню правой кнопки мыши к элементу :
ContextMenu cm = new System.Windows.Forms.ContextMenu();
cm.MenuItems.Add("Item 1", new EventHandler(Item1_Click));
Но к моему большому разочарованию, я обнаружил, что ContextMenu можетбыть назначенным только моему объекту Диаграммы, в то время как я хотел назначить его отдельной Точке в коллекции Точек моей Серии:
chart.ContextMenu = cm; // This works
serie1.Points[DataObject.pointIndex].ContextMenu = cm; // This does not work unfortunately
Глядя на документацию коллекции Точек, назначенной для Серии Карт, я нахожуникаких упоминаний о каком-либо меню вообще.Значит ли это, что то, что я ищу, просто неосуществимо в техническом смысле, или я что-то наблюдаю?И если так, будет ли какая-либо другая техническая реализация, которая обеспечит функциональность, которую я ищу?(сейчас я думаю, что всплывающая подсказка могла бы покрыть некоторые из моих потребностей, но это не было бы столь же элегантно и обширно, как отображение информации в новом окне)