Zedgraph Control доступен из любой функции

У меня есть эта функция:

public void MainFormLoad(object sender, EventArgs e)
{
   GraphPane myPane = GRAPH.GraphPane;
}

Где myPane — это ссылка на GraphPane (GRAPH — это имя ZedGraphControl, которое отображается в графическом интерфейсе). И теперь я хочу изменить такие вещи, как имя оси «x» или «y», заголовок, цвета и т. Д. или все, что вы можете изменить, но на основе событий. Например: у меня есть текстовое поле, в котором я могу написать текст, и этот текст будет отображаться на графике как заголовок после триггера textbox_textchanged_event следующим образом:

void TitleTextChanged(object sender, EventArgs e)
{
   myPane.Title.Text = textbox1.Text;
} 

Таких функций для изменения свойств графика будет больше. Но это не работает. Есть ли способ обойти это?
Я также пробовал это:

void TitleTextChanged(object sender, EventArgs e)
{
   GRAPH.GraphPane.Title.Text = textbox1.text.Text;
} 

но никак не помочь. Помогите пожалуйста, любые советы приветствуются.

**ОТВЕТ: До сих пор я нашел это решение:

public void MainFormLoad(object sender, EventArgs e)
{
    EditGraph(GRAPH);

}

Это событие, которое обрабатывает изменение текста в текстовом поле:

public void TB_GRAPH_TITLE_VALUETextChanged(object sender, EventArgs e)
{
    //GraphPane myPane2 = GRAPH.GraphPane;
    changedGraphTitle = true;
    EditGraph(GRAPH);           
}

Это функция, которая находит изменения и обновляет их:

public void EditGraph(ZedGraphControl zgc)
{
    GraphPane myPane = zgc.GraphPane;
    if(changedGraphTitle)
    {
       myPane.Title.Text =  TB_GRAPH_TITLE_VALUE.Text;
       changedGraphTitle = false;   
       zgc.Refresh();
    }
}

Также необходимо объявить "bool changeGraphTitle = false".**


person DejmiJohn    schedule 17.06.2013    source источник


Ответы (1)


Если я правильно понял ваш вопрос, вот мой простой код для обновления заголовков оси Zedgraph одним событием ButtonClick.

 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Linq;
 using System.Text;
 using System.Windows.Forms;
 using ZedGraph;

 namespace updateZedGraph
 {
    public partial class Form1 : Form
    {
      public Form1()
      {
        InitializeComponent();
        myPane = zedGraphControl1.GraphPane;
      }

      GraphPane myPane; 

      private void btn_UpdateChart_Click(object sender, EventArgs e)
      {
        // Update x Axis Text
        myPane.XAxis.Title.Text = textBox1.Text;

        // Update x Axis Text
        myPane.YAxis.Title.Text = textBox2.Text;

        // Refresh Chart
        zedGraphControl1.Invalidate();
      }
  }
}

введите здесь описание изображения

надеюсь, это поможет..

person SanVEE    schedule 17.06.2013