找回密码
 立即注册

QQ登录

只需一步,快速开始

lvGrap

初级会员

3

主题

11

帖子

350

积分

初级会员

积分
350

活字格认证

最新发帖
lvGrap
初级会员   /  发表于:2014-7-28 15:16  /   查看:6563  /  回复:8
当设置线型为dot时,zoom in 3次以后(鼠标左键画框方式zoom in),界面会特别慢,甚至会暂时没有响应(10秒钟以上)。
chartDataSeriesGroup0.LineStyle.Pattern = C1.Win.C1Chart.LinePatternEnum.Dot;
Debug跟入代码,发现call stack中在执行        System.Drawing.dll!System.Drawing.Graphics.DrawLines(System.Drawing.Pen pen, System.Drawing.PointF[] points), 怀疑是控件在绘制Dot类型的线型效率过低导致。
请问是否是个bug,如果绕过?

8 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2014-7-28 16:22:00
沙发
回复 1楼lvGrap的帖子

请问你的版本是什么?
能否提供Sample,以便我们帮你解决问题。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
lvGrap
初级会员   /  发表于:2014-7-28 16:59:00
板凳

版本信息和代码

回复 2楼Alice的帖子

版本C1StudioNet_2013v1.msi  
C1Chart.Net Build Number 4.0.20131.23069   Build Date: Monday, March 11, 2013

可以多实验几次zoom,会出现我提到的问题

this.c1Chart1.Reset();

            c1Chart1.Interaction.Enabled = true;
            c1Chart1.Interaction.Actions["Zoom"].Modifier = Keys.None;
            c1Chart1.Interaction.Actions["Scale"].Modifier = Keys.Control;
            c1Chart1.Interaction.Actions["Translate"].Modifier = Keys.Shift;
            c1Chart1.Interaction.Actions["Rotate"].Modifier = Keys.Alt;

C1.Win.C1Chart.ChartDataSeries chartDataSeriesGroup0 = c1Chart1.ChartGroups.Group0.ChartData.SeriesList.AddNewSeries();
            chartDataSeriesGroup0.LineStyle.Pattern = C1.Win.C1Chart.LinePatternEnum.Dot;
            chartDataSeriesGroup0.X.CopyDataIn(new double[] { 10, 20, 4, 40, 5, 60 });
            chartDataSeriesGroup0.Y.CopyDataIn(new double[] { 1, 2, 3, 4, 5, 6 });
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-7-28 17:37:00
地板
回复 3楼lvGrap的帖子

我的版本是:4.0.20141.24071。VisualStudio2010&Win7。
测试步骤:
1.拖拽C1Chart到Form。
2.复制你楼上的代码,然后粘贴到InitializeComponent方法之后。
3.运行。
4.尝试鼠标拖拽,ctrl+鼠标拖拽,以及shift+鼠标拖拽各20次。
并未重现该问题。

你在新建干净的工程,拖拽一个c1chart,也会出现慢的问题么?
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
lvGrap
初级会员   /  发表于:2014-7-29 08:05:00
5#
回复 4楼Alice的帖子

我用的是VisualStudio2013, .NET Framework4.5 & win7
在两个工程里同时出现的这个问题。
回复 使用道具 举报
lvGrap
初级会员   /  发表于:2014-7-29 08:37:00
6#
回复 4楼Alice的帖子

也许是画grid跟dot一起的时候比较容易出现。加上如下代码, 我用tooltip2010那个demo工程,framework修改成4.5,然后将引用重新定向到C1.Win.C1Chart4,您可以试验一下。
c1Chart1.Interaction.Enabled = true;
            c1Chart1.Interaction.Actions["Zoom"].Modifier = Keys.None;
            c1Chart1.Interaction.Actions["Scale"].Modifier = Keys.Control;
            c1Chart1.Interaction.Actions["Translate"].Modifier = Keys.Shift;
            c1Chart1.Interaction.Actions["Rotate"].Modifier = Keys.Alt;


            c1Chart1.ChartGroups.Group0.ChartData.SeriesList[0].LineStyle.Pattern = C1.Win.C1Chart.LinePatternEnum.Dot;

            c1Chart1.ChartArea.AxisX.GridMajor.Visible = true;
            c1Chart1.ChartArea.AxisX.GridMajor.Thickness = 1;

            c1Chart1.ChartArea.AxisX.GridMinor.Visible = true;
            c1Chart1.ChartArea.AxisX.GridMinor.Thickness = 1;

            c1Chart1.ChartArea.AxisY.GridMajor.Visible = true;
            c1Chart1.ChartArea.AxisY.GridMajor.Thickness = 1;

            c1Chart1.ChartArea.AxisY.GridMinor.Visible = true;
            c1Chart1.ChartArea.AxisY.GridMinor.Thickness = 1;

            c1Chart1.ChartArea.AxisY2.GridMajor.Visible = true;
            c1Chart1.ChartArea.AxisY2.GridMajor.Thickness = 1;

            c1Chart1.ChartArea.AxisY2.GridMinor.Visible = true;
            c1Chart1.ChartArea.AxisY2.GridMinor.Thickness = 1;
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-8-7 09:40:00
7#
回复 6楼lvGrap的帖子

不好意思,回复晚了。
因为我本机的环境无法重现该问题。
有没有发布到其他机器上看下问题是否存在?
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
lvGrap
初级会员   /  发表于:2014-8-12 10:26:00
8#
回复 7楼Alice的帖子

我们暂时忽略了这个问题。多谢
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-8-12 14:09:00
9#
回复 8楼lvGrap的帖子

好的,不用客气。
此问题结贴,如果有问题欢迎提出来。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部