2013-02-28 22 views
0

我正在創建一個繪圖程序,我想知道如何用鼠標移動圖表的圖例?所以你可以點擊圖例,然後你可以將它移動到圖表區域的任何位置。如何用鼠標移動C#表單圖例?

+0

這是一個難以回答的問題,而無需查看您目前的代碼......甚至看到[您嘗試過的](http://mattgemmell.com/2008/12/08/what-have-you -tried /)。 – Brian 2013-02-28 22:21:10

+0

你是傳說中的一個圖片框控件還是什麼? – 2013-02-28 22:23:18

+0

我一直在嘗試使用命中測試方法,但是我沒有真正發現任何具體的東西。我一直在尋找如何使用這種方法,並得到了儘可能'公共無效HitTest(對象s,EventArgs e){點MouseP = MousePosition; //然後以某種方式說出鼠標是否在圖例上並單擊允許圖例移動} – user2023068 2013-02-28 22:44:56

回答

0

使用圖表的手動雙緩衝,在將後臺緩衝區繪製到屏幕之前,在當前鼠標位置(可能是+(15,15))上繪製圖例。您也可以設置Alpha以使圖例半透明,直到用戶將其刪除。

0

您可以創建無邊框的小表單來構建圖例或使用工具提示項目。然後,你可以用mouseMove事件移動:

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

哪裏ChangeLegendPosition是你的函數,更新您的窗體/提示位置。