2013-02-28 5 views
0

플로팅 프로그램을 만들고 있는데 마우스로 차트의 범례를 움직이는 방법을 궁금해하십니까? 그래서 범례를 클릭하면 차트 영역 안의 어느 곳 으로든 이동할 수 있습니다.마우스로 C# 양식 범례를 이동하는 방법은 무엇입니까?

+0

이것은 당신이 지금까지 가지고있는 코드를 보지 않고 답하는 것이 힘든 질문입니다 ... [당신이 시도한 것을 보아라] (http://mattgemmell.com/2008/12/08/what-have-you ~ /). – Brian

+0

당신은 picturebox 컨트롤 또는 무엇 전설인가? –

+0

히트 테스트 방법을 사용하려고했지만 실제로 구체적인 것을 찾지 못했습니다. 나는 그 메소드를 사용하는 방법을 찾고 있었고'public void HitTest (Object s, EventArgs e) {Point MouseP = MousePosition; // 그런 다음 마우스가 범례에 있고 legend가 움직일 수 있도록 허용하면 클릭합니다.}' – user2023068

답변

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은 양식/툴팁 위치를 업데이트하는 함수입니다.

관련 문제