C#-Winform:Chart控件添加多个ChartArea过程中画面大小变化的问题

前一段时间需要用C#的winform开发一个超声仪器的软件,主要的问题是绘制扫描的窗体,初步的思路是采用chart控件实现,思路为建立两个重叠的ChartArea,一个用于绘制超声波形,另一个用于绘制闸门,最后完成的结果如下图:
在这里插入图片描述其中曲线的X轴与Y轴范围可以随轨迹条实时变化,从而实现超声软件调节增益的功能。而闸门主要是用于参考,其形状不会随增益的调节而变化。

在添加两个chartArea时。出现了如下问题:
在用属性编辑器添加两个chartArea时,图窗布局如下图图片的
绘图区域只占据了窗口的一半,对chartArea中的Position和InnerPlotPosition中进行修改,依然没有解决问题,代码如下:

            // 
            // chart1
            // 
            chartArea5.InnerPlotPosition.Auto = false;
            chartArea5.InnerPlotPosition.Height = 100F;
            chartArea5.InnerPlotPosition.Width = 100F;
            chartArea5.Name = "ChartArea1";
            chartArea5.Position.Auto = false;
            chartArea5.Position.Height = 100F;
            chartArea5.Position.Width = 100F;
            chartArea6.BackColor = System.Drawing.Color.Transparent;
            chartArea6.InnerPlotPosition.Auto = false;
            chartArea6.InnerPlotPosition.Height = 100F;
            chartArea6.InnerPlotPosition.Width = 100F;
            chartArea6.Name = "ChartArea2";
            chartArea6.Position.Auto = false;
            chartArea6.Position.Height = 100F;
            chartArea6.Position.Width = 100F;
            this.chart1.ChartAreas.Add(chartArea5);
            this.chart1.ChartAreas.Add(chartArea6);
            this.chart1.Location = new System.Drawing.Point(35, 41);
            this.chart1.Name = "chart1";
            series7.ChartArea = "ChartArea1";
            series7.Name = "Series1";
            series8.ChartArea = "ChartArea2";
            series8.Name = "Series2";
            series9.ChartArea = "ChartArea2";
            series9.Name = "Series3";
            this.chart1.Series.Add(series7);
            this.chart1.Series.Add(series8);
            this.chart1.Series.Add(series9);
            this.chart1.Size = new System.Drawing.Size(915, 625);
            this.chart1.TabIndex = 0;
            this.chart1.Text = "chart1";
            title3.Name = "title1";
            this.chart1.Titles.Add(title3);

出现了代码与显示不一致的问题,便考虑到是代码生成器的某些自动属性出现了问题,删除所有的ChartArea,并重新添加一个ChartArea,显示恢复正常:在这里插入图片描述

推算应该是代码生成器的某些自动属性出现了问题,于是解决方案如下:先删除所有的ChartArea,只添加一个ChartArea,这时界面显示正常,然后关闭Position和InnerPlotPosition中的AUTO属性
在这里插入图片描述
在这里插入图片描述
之后再添加另一个ChartArea,这样新添加CharArea的Auto属性会自动被设置为False,就不会出现空白,界面显示正常。这样就可以按照输入的数值去布局画布了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值