ソースコードを CodeText、CodeTextX、CodeTextY のいずれかのプロパティに追加する代わりに、イベントデリゲートを使用してイベントメソッドを指定して、適切な関数値を計算できます。
イベントデリゲートを使用した場合、関数値は YFunction クラスのオブジェクトの CalculateY イベントで計算されます。ParametricFunction クラスのオブジェクトの場合、各計算座標の1つ、CalculateX と CalculateY の2つのイベントを設定する必要があります。非 null イベントのデリゲートの場合、イベントを使用して対応する関数値を計算する必要があり、それは、対応する CodeText プロパティも YFunction または ParametricFunction クラスオブジェクトで指定する場合でも同じです。イベントを使用するには、プログラマは適切なイベントハンドラを提供する必要があります。
Visual Basic コードの書き方
| Visual Basic | 
                         
                            コードのコピー
                         
                     | 
                
|---|---|
                        
Private Sub Button_Click(ByVal sender As System.Object, _  ByVal e As System.EventArgs) Handles Button.Click    
  Dim yf As C1.Win.C1Chart.YFunction = New C1.Win.C1Chart.YFunction()  
  AddHandler yf.CalculateY, AddressOf Function_Calculate    
  yf.MinX = -5    
  yf.MaxX = 5   
  yf.LineStyle.Color = Color.DarkBlue   
  yf.LineStyle.Thickness = 3         
  C1Chart1.ChartGroups(0).ChartData.FunctionsList.Add(yf)   
End Sub     
    
Private Sub Function_Calculate(ByVal sender As Object, _  ByVal e As C1.Win.C1Chart.CalculateFunctionEventArgs)    
  e.Result = e.Parameter * e.Parameter * e.Parameter    ' y = x*x*x   
End Sub
                     | 
                |
C# コードの書き方
| C# | 
                         
                            コードのコピー
                         
                     | 
                
|---|---|
                        
private void button_Click(object sender, System.EventArgs e)   
{    
  C1.Win.C1Chart.YFunction yf = new C1.Win.C1Chart.YFunction();        
  yf.MinX = -5;    
  yf.MaxX = 5;    
  yf.LineStyle.Color = Color.DarkBlue;    
  yf.LineStyle.Thickness = 2;    
  yf.CalculateY += new C1.Win.C1Chart.CalculateFunctionEventHandler( Function_Calculate);         
  c1Chart1.ChartGroups[0].ChartData.FunctionsList.Add( yf);    
}
         
private void Function_Calculate( object sender, C1.Win.C1Chart.CalculateFunctionEventArgs e)   
{   
  e.Result = e.Parameter * e.Parameter * e.Parameter; // y = x*x*x    
}
                     | 
                |