Nevron Forum

Set Hand Cursor for Legend Item

https://www.nevron.com/Forum/Topic14321.aspx

By Alexander Haberl - Wednesday, December 8, 2021

I cannot set a Hand Cursor for an automatic LegendItem. Is this possible?

I tried this approach (the changing of the Font to an underlined Font works):

 
  private void ChartControl_MouseMove(object sender, MouseEventArgs e)
   {
    NHitTestResult res = null;

    try
    {
      res = HitTest(e.X, e.Y);
    }
    catch (Exception)
    {

    }

    if (null != res)
    {
      if (res.ChartElement == ChartElement.LegendDataItem)
      {
       for (int i = 0; i < Charts.Count; i++)
       {
        foreach (NSeriesBase s in Charts[i].Series)
        {
          NSeriesLegend seriesLegend = s.Legend;
          seriesLegend.TextStyle.FontStyle.Style = FontStyle.Regular;
        }
       }

       res.LegendDataItem.TextStyle.FontStyle.Style = FontStyle.Underline;

       res.LegendDataItem.InteractivityStyle.Cursor.Type = CursorType.Hand;

       resetLegend = true;

       Refresh();
      }
      else
      {
       if (resetLegend)
       {
        for (int i = 0; i < Charts.Count; i++)
        {
          foreach (NSeriesBase s in Charts[i].Series)
          {
           NSeriesLegend seriesLegend = s.Legend;
           seriesLegend.TextStyle.FontStyle.Style = FontStyle.Regular;
          }
        }

        Refresh();
        resetLegend = false;
       }
      }
    }
   }

By Nevron Support - Thursday, December 9, 2021

Hi Alexander,

Generally, you should not modify the attributes of automatically generated legend items, because in the general case they are clones of series legend attributes. Instead, you can simply create a legend with custom items. You can check out the Panels \ Legend \ Custom Legend Items example on how to generate custom legend items. 

We hope this helps - let us know if you have any questions.