2014-02-25 77 views
1

,所以我有我的標題:MSChart - 我如何添加點擊事件到我的標題?

Chart = CreateChartTemplate(); 
    Title area1Title = new Title(chartTitle, Docking.Top, new Font("Verdana", 12),  Color.Black); 
    area1Title.IsDockedInsideChartArea = false; 
    area1Title.Docking = Docking.Top; 
    Chart.Titles.Add(area1Title); 

我想onclick事件添加到它。我已經研究過它並將它搜索到,但我發現大部分關於數據點的東西,在使用發件人arg時我很困惑。我之前使用過它,但僅用於按鈕,所以我可以使用button.Click + = methodname來分配它。 我打算使用點擊事件來彈出一個對話框,讓用戶可以更改標題。

應該補充說,這不適用於基於網絡的圖表。

回答

2

不幸的是,沒有Title類的事件。但是,您可以檢查鼠標點擊發生的位置,並在點擊標題時顯示用戶輸入對話框。

下標爲圖表的MouseDown事件。

chart1.MouseDown += new MouseEventHandler(chart1_MouseDown); 

在事件處理程序中檢查點擊是否在標題上並顯示來自用戶輸入的對話框。

void chart1_MouseDown(object sender, MouseEventArgs e) 
{ 
    HitTestResult result = chart1.HitTest(e.X, e.Y); 
    if (result.ChartElementType == ChartElementType.Title) 
    { 
     Title aTitle = result.Object as Title; 
     if (aTitle != null) 
     { 
      // show dialog for user input. 
      aTitle.Text = //user input value 
     } 
    } 
} 
+0

HitTestResult result = chart1.HitTest(e.X,e.Y);這條線獲得光標座標呢? result.ChartElementType == ChartElementType.Title,這一行檢查這些座標是否落在標題上? +1現在我會檢查出來今天謝謝! – CandiedMango

+1

遊標座標已經從MouseEventArgs中獲得。 HitTest方法檢查圖表區域中發生鼠標點擊的位置,CharElementType檢查點擊是否在標題上。 – Junaith

+1

感謝您的解釋!我更喜歡能夠理解無盲複製和粘貼:P – CandiedMango

相關問題