Я пытаюсь извлечь верхнюю левую координату расположения ToolStripMenuItem относительно ее родительского объекта, поскольку она отображается на экране. Существует свойство Bounds, в котором есть элемент Location, но он возвращает бессмысленную (по крайней мере, с моей точки зрения) информацию о ее фактическом местоположении.Location ToolStripMenuItem относительно родителя
«Нажмите» событие-обработчик выглядит следующим образом:
private void newShapeOption_Click(object sender, EventArgs e)
{
ToolStripMenuItem item = sender as ToolStripMenuItem;
Point point = item.Bounds.Location; // returns {X = 0, Y = 2} every time for some reason
// the rest is unimportant
}
красная точка (Paint Skillz;) на изображении показывает точное положение, которое я хотел бы использовать (родитель является форма управления под названием «окно 0» - это и MDI приложение):
Это действительно ToolStrip? Когда я перетаскиваю панель инструментов в свою Winform, она автоматически присоединяется к вершине формы, которая примерно соответствует X = 0, Y = 2. –
@RobertHarvey Он состыкован сверху, но это ToolStripMenuItem (дочерний элемент управления, который я считаю). Bound.Location явно возвращает то же место, что и родительский элемент, который, как мне кажется, имеет смысл, поскольку это единственный ребенок и, следовательно, первый. Позор, что нет способа получить местоположение фактического визуализированного графического объекта. – Venom
Каково расположение фактического визуализированного графического объекта? Логично, что первый пункт меню в прикрепленном объекте инструментальной панели должен располагаться в верхнем левом углу инструментальной панели, давать или принимать несколько пикселей. –