2015-04-17 2 views
1

Привет, я разрабатываю график, который отображает линейный граф из открытого файла У меня все работает, поэтому это не проблема, Проблема в том, что я хочу, чтобы флажки могли добавлять если флажок установлен или удалить строку, если флажок снят, я хочу, чтобы график обновлялся при изменении состояния флажка, чтобы соответственно добавить/удалить строку. У меня возникли проблемы с флажком и график освежающегоДобавить/удалить кривую с флажком на zedgraph

if (LCheck.Checked) 
{ 
    LineItem line1 = myPane.AddCurve("LINE1", 
     LL, Color.Red, SymbolType.None); 
    zgc.AxisChange(); 
    zgc.Invalidate(); 
    zgc.Refresh(); 
} 

else if (!LCheck.Checked) 
{ 
    LL.Clear(); 
    zgc.AxisChange(); 
    zgc.Invalidate(); 
    zgc.Refresh(); 
} 

Это способ сделать это, или есть способ лучше?

Update:

 public void CreateGraph(ZedGraphControl zgc) 
     { 
      //HRCheck.Checked = true; 
      SpeedCheck.Checked = true; 
      AltCheck.Checked = true; 
     PowerCheck.Checked = true; 


     Form1 form = new Form1(fileOpen); 
     GraphPane myPane = zgc.GraphPane; 
double x, y1, y2, y3, y4; 
x = 0; 
    PointPairList LL = new PointPairList(); 
for (int i = 0; i < form.dataGridView1.Rows.Count; ++i) 
     { 

     y1 = (Convert.ToDouble(form.dataGridView1.Rows[i].Cells["VALUE1"].Value)); 


LL.Add(x, y1); 


x++; 


} 
    LineItem line1 = myPane.AddCurve("LINE1", 
     LL, Color.Red, SymbolType.None); 

zgc.AxisChange(); 
     zgc.Invalidate(); 
     zgc.Refresh(); 
} 

Это мой создать граф метод

Я поставил весь соответствующий код внутри checkchanged события, но это не похоже, работает, FileOpen и DataGridView является для другого аспекта моей программы, но они работают нормально.

+0

Вы вызываете это в событии Checkbox.CheckedChanged? – Orifjon

+0

@Orifjon no я называю это в моем методе creategraph, Является ли мой код правильным, но не в том месте? – FlipperFlapper

+0

Да, назовите это событие 'Checkbox.CheckedChanged' – Orifjon

ответ

1

Если вы хотите наблюдать за изменениями Проверяемого свойства флажка, вам необходимо добавить код Checkbox.CheckedChanged в обработчик событий.

Вы можете реорганизовать код

if (LCheck.Checked) 
{ 
    LineItem line1 = myPane.AddCurve("LINE1", 
     LL, Color.Red, SymbolType.None); 
} 
else 
{ 
    LL.Clear(); 
} 
zgc.AxisChange(); 
zgc.Invalidate(); 
zgc.Refresh(); 

Update:

Я думаю, вы воссоздавать график каждый раз вы называете CreateGraph метод. В этом случае вы можете вызвать это на событии . И проверьте состояние проверки LCheck.

Смежные вопросы