2013-02-28 2 views
0

Я создаю программу построения, и мне было интересно, как переместить легенду диаграммы с помощью мыши? Таким образом, вы нажмете на легенду, а затем сможете перемещать ее в любом месте области диаграммы.Как переместить легенду C# с помощью мыши?

+0

Это непростой вопрос, чтобы ответить, не видя, какой у вас код до сих пор ... или даже видеть [то, что вы пробовали] (http://mattgemmell.com/2008/12/08/what-have-you -пытался/). – Brian

+0

Являетесь ли вы легендой для управления надписью или что? –

+0

Я пытался использовать метод тестовых тестов, но я не нашел ничего конкретного. Я искал способ использования этого метода и дошел до 'public void HitTest (объект s, EventArgs e) {Point MouseP = MousePosition; // Тогда как-нибудь скажите, есть ли указатель мыши и нажмите, чтобы позволить легенде двигаться} – user2023068

ответ

0

Используя ручную двойную буферизацию диаграммы, нарисуйте легенду в текущей позиции мыши (возможно, + (15,15)) на заднем буфере непосредственно перед тем, как нарисовать задний буфер на экране. Вы также можете установить Alpha, чтобы сделать легенду полупрозрачной, пока пользователь не опустит ее.

0

Вы можете создать небольшую форму без границ, чтобы построить свою легенду или использовать элемент ToolTip. Тогда вы могли бы двигаться с MouseMove событием:

private void frmMain_MouseMove(object sender, MouseEventArgs e) 
    { 
     if (e.Button = System.Windows.Forms.MouseButtons.Left) 
      ChangeLegendPosition(e.X, e.Y); 
    } 

Где ChangeLegendPosition ваша функция, которая обновляет свою позицию формы/подсказки.

Смежные вопросы