首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加/删除曲线与复选框在zedgraph上

添加/删除曲线与复选框在zedgraph上
EN

Stack Overflow用户
提问于 2015-04-17 15:53:14
回答 1查看 774关注 0票数 1

你好,我正在设计一个图形,它从打开的文件中显示一个线图,所以这不是问题,问题是如果复选框被选中,我希望复选框能够添加行,或者如果复选框未选中,则删除行,我希望图形在更改复选框的状态时刷新,从而相应地添加/删除行。我在复选框和图表刷新方面有问题。

代码语言:javascript
复制
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();
}

是这样做还是有更好的方法?

更新:

代码语言:javascript
复制
     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是我程序的另一个方面,但它们工作得很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-17 16:19:19

如果要观察复选框选中属性的更改,则需要将代码Checkbox.CheckedChanged添加到事件处理程序中。

您可以将代码重构为

代码语言:javascript
复制
if (LCheck.Checked)
{
    LineItem line1 = myPane.AddCurve("LINE1",
        LL, Color.Red, SymbolType.None);
}
else
{
    LL.Clear();
}
zgc.AxisChange();
zgc.Invalidate();
zgc.Refresh(); 

更新:

我认为,每次调用CreateGraph方法时,您都在重新创建图形。在这种情况下,您可以在LCheck.ChechedChanged事件上调用它。并检查LCheck的检查状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29703986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档