首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >刷新和清除Oxyplot模型

刷新和清除Oxyplot模型
EN

Stack Overflow用户
提问于 2019-06-13 19:48:22
回答 1查看 1.5K关注 0票数 0

我正在创建一个使用oxyplotbtnCalculate_Click之后创建绘图的程序。我可以做些什么,以便每当我更改文本框值并单击btnCalculate时,它都可以刷新绘图?我也有btnPrint,单击一下就应该清除绘图?

代码语言:javascript
运行
复制
public void btnCalculate_Click(object sender, EventArgs e)
{

    Pko = float.Parse(textBox5.Text);

    //Plotting Using Oxyplots
    OxyPlot.WindowsForms.PlotView pv = new PlotView();
    pv.Location = new Point(650, 0);
    pv.Size = new Size(900, 815);
    this.Controls.Add(pv);

    pv.Model = new PlotModel { Title = "Program" };
    pv.Model.InvalidatePlot(true);   

    //Pko line from surface to depth
    LineSeries Pkoline = new LineSeries();
    Pkoline.Color = OxyColors.Black;
    Pkoline.LineStyle = LineStyle.Solid;
    Pkoline.StrokeThickness = 1;
    Pkoline.Points.Add(new DataPoint(Pko, 0));
    Pkoline.Points.Add(new DataPoint(100, 200));
    pv.Model.Series.Add()
}


private void btnClear_Click(object sender, EventArgs e)
{

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-13 21:18:25

首先,您需要为plot定义变量,以便在不同的事件处理程序中调用它。清除绘图就是清除系列集合

代码语言:javascript
运行
复制
private readonly PlotView _pv;


public Form1()
{
    InitializeComponent();
//moved initialization from btnCalculate_Click
    _pv = new PlotView();
    this.Controls.Add(_pv);
    _pv.Location = new Point(0, 0);
    _pv.Size = new Size(500, 500);
    _pv.Model = new PlotModel {Title = "Program"};
    _pv.Model.InvalidatePlot(true);
}

private void btnCalculate_Click(object sender, EventArgs e)
{
    // keep old code Except _pv initialization   

    _pv.Model.Series.Add(Pkoline);//typo in old code
}

private void clearBtn_Click(object sender, EventArgs e)
{
    _pv.Model.InvalidatePlot(true);
    _pv.Model.Series.Clear();        
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56579801

复制
相关文章

相似问题

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