public void TapeMeasure(object sender, EventArgs e)
{
if (TrussManager.Truss != null)
{
Point containerPoint = trussEditor.PointToClient(Cursor.Position);
if (!trussEditor.MainMenu.CommandToolStrip.ClientRectangle.Contains(containerPoint))
execute command A
else
execute command B
}
}
это событие вызывается изкурсора в пределах управления
ToolStripButton commandButton = new ToolStripButton("Tape", ConvertIconToImage(icon), TapeMeasure);
и
ToolStripMenuItem tsmi = new ToolStripMenuItem("Tape", ConvertIconToImage(icon), TapeMeasure);
(Winforms Application)
Я хочу знать, когда мой курсор не мой ToolStrip. Однако приведенный выше код сохраняет возвращающий тот же результат независимо от того, где мой курсор.
Этот код находится в обработчике событий, который вызывается либо с помощью кнопки на панели инструментов, либо с помощью кнопки в контекстном меню. Если его вызвать в контекстном меню, я предполагаю, что пользователь хочет использовать текущую точку мыши. В противном случае я хочу, чтобы пользователь нажал на нужную точку
любые предложения?
Winforms или Wpf и где находится этот код –
Что вызывает запуск вашего обработчика событий? MouseMove? –
Я пытаюсь дублировать, что вы используете для contextmenu. Я не могу добавить кнопку в стандартную, а также какой объект является назначенным контекстным меню. Пока ваш код работает –