本帖最后由 huang369509940 于 2014-03-28 12:12:11 编辑

解决方案 »

  1.   

    chartControl4_MouseMove 到点上还是不行 hitInfo.SeriesPoint一直就是null 求解啊!!
      

  2.   

    可以说还用chartControl的CustomDrawCrosshair事件,
      

  3.   


    foreach (CrosshairElement element in e.CrosshairElements)
                    {
                        SeriesPoint point = element.SeriesPoint;
                        //object teyp = point.Tag.GetType();
                        double[] tempArray = point.Values;                    element.LabelElement.Text = string.Format("数量:{0}", tempArray[0].ToString());
                    }
      

  4.   


    foreach (CrosshairElement element in e.CrosshairElements)
                    {
                        SeriesPoint point = element.SeriesPoint;
                        //object teyp = point.Tag.GetType();
                        double[] tempArray = point.Values;                    element.LabelElement.Text = string.Format("数量:{0}", tempArray[0].ToString());
                    }

    这个确实是可以显示当前移动到的点的值,但是这个没法弄点击显示了吧?
    如果不用鼠标点击,用toolTipController,这个怎么获得鼠标的位置啊?
      

  5.   


    foreach (CrosshairElement element in e.CrosshairElements)
                    {
                        SeriesPoint point = element.SeriesPoint;
                        //object teyp = point.Tag.GetType();
                        double[] tempArray = point.Values;                    element.LabelElement.Text = string.Format("数量:{0}", tempArray[0].ToString());
                    }

    这个确实是可以显示当前移动到的点的值,但是这个没法弄点击显示了吧?
    如果不用鼠标点击,用toolTipController,这个怎么获得鼠标的位置啊?
    我感觉鼠标移动 显示信息比 鼠标点击显示信息带来的体验更好。
    你获取鼠标位置的目的是干啥?
      

  6.   


    foreach (CrosshairElement element in e.CrosshairElements)
                    {
                        SeriesPoint point = element.SeriesPoint;
                        //object teyp = point.Tag.GetType();
                        double[] tempArray = point.Values;                    element.LabelElement.Text = string.Format("数量:{0}", tempArray[0].ToString());
                    }

    这个确实是可以显示当前移动到的点的值,但是这个没法弄点击显示了吧?
    如果不用鼠标点击,用toolTipController,这个怎么获得鼠标的位置啊?
    我感觉鼠标移动 显示信息比 鼠标点击显示信息带来的体验更好。
    你获取鼠标位置的目的是干啥?
    我好设定toolTipController显示在哪啊。
      

  7.   


    foreach (CrosshairElement element in e.CrosshairElements)
                    {
                        SeriesPoint point = element.SeriesPoint;
                        //object teyp = point.Tag.GetType();
                        double[] tempArray = point.Values;                    element.LabelElement.Text = string.Format("数量:{0}", tempArray[0].ToString());
                    }

    这个确实是可以显示当前移动到的点的值,但是这个没法弄点击显示了吧?
    如果不用鼠标点击,用toolTipController,这个怎么获得鼠标的位置啊?
    我感觉鼠标移动 显示信息比 鼠标点击显示信息带来的体验更好。
    你获取鼠标位置的目的是干啥?
    因为我Label还是想显示他本来的数据,我要显示额外的数据,想用toolTipController
    但是这样的话它显示的位置怎么确定?        private void chartControl4_CustomDrawCrosshair(object sender, CustomDrawCrosshairEventArgs e)
            {            foreach (CrosshairElement element in e.CrosshairElements)
                {
                    SeriesPoint point = element.SeriesPoint;
                    toolTipController.ShowHint("Hit-testing results:\n" + point.Values[0].ToString(), chartControl4.PointToScreen(Form.MousePosition));
                }
            }结果就是这样,它总是在最右边显示、、、、
      

  8.   


    foreach (CrosshairElement element in e.CrosshairElements)
                    {
                        SeriesPoint point = element.SeriesPoint;
                        //object teyp = point.Tag.GetType();
                        double[] tempArray = point.Values;                    element.LabelElement.Text = string.Format("数量:{0}", tempArray[0].ToString());
                    }

    这个确实是可以显示当前移动到的点的值,但是这个没法弄点击显示了吧?
    如果不用鼠标点击,用toolTipController,这个怎么获得鼠标的位置啊?
    我感觉鼠标移动 显示信息比 鼠标点击显示信息带来的体验更好。
    你获取鼠标位置的目的是干啥?
    因为我Label还是想显示他本来的数据,我要显示额外的数据,想用toolTipController
    但是这样的话它显示的位置怎么确定?        private void chartControl4_CustomDrawCrosshair(object sender, CustomDrawCrosshairEventArgs e)
            {            foreach (CrosshairElement element in e.CrosshairElements)
                {
                    SeriesPoint point = element.SeriesPoint;
                    toolTipController.ShowHint("Hit-testing results:\n" + point.Values[0].ToString(), chartControl4.PointToScreen(Form.MousePosition));
                }
            }结果就是这样,它总是在最右边显示、、、、

    这种效果???
      

  9.   

    这种效果???
    看起来很流弊的样子其实我也不应该用toolTipController,需求是要显示图片加文字的这个怎么弄?给你加到100分吧,太感谢你了
      

  10.   


    foreach (CrosshairElement element in e.CrosshairElements)
                    {
                        SeriesPoint point = element.SeriesPoint;
                        //object teyp = point.Tag.GetType();
                        double[] tempArray = point.Values;                    element.LabelElement.Text = string.Format("数量:{0}", tempArray[0].ToString());
                    }

    这个确实是可以显示当前移动到的点的值,但是这个没法弄点击显示了吧?
    如果不用鼠标点击,用toolTipController,这个怎么获得鼠标的位置啊?
    我感觉鼠标移动 显示信息比 鼠标点击显示信息带来的体验更好。
    你获取鼠标位置的目的是干啥?
    因为我Label还是想显示他本来的数据,我要显示额外的数据,想用toolTipController
    但是这样的话它显示的位置怎么确定?        private void chartControl4_CustomDrawCrosshair(object sender, CustomDrawCrosshairEventArgs e)
            {            foreach (CrosshairElement element in e.CrosshairElements)
                {
                    SeriesPoint point = element.SeriesPoint;
                    toolTipController.ShowHint("Hit-testing results:\n" + point.Values[0].ToString(), chartControl4.PointToScreen(Form.MousePosition));
                }
            }结果就是这样,它总是在最右边显示、、、、

    可以通过 QueryCursor事件,Point p = e.Cursor.HotSpot; 获得光标坐标
      

  11.   

    这种效果???
    看起来很流弊的样子其实我也不应该用toolTipController,需求是要显示图片加文字的这个怎么弄?给你加到100分吧,太感谢你了
    你应该先说明需求啊!!我才能知道往下怎么帮你解决,就只说使用toolTipController。
      

  12.   

    额。。刚开始我以为就显示文字就行,我就说用toolTipController,但是其实是要显示图片加文字
      

  13.   

    额。。刚开始我以为就显示文字就行,我就说用toolTipController,但是其实是要显示图片加文字
    如果显示图片和文字不需要用toolTipController也可以实现:                  
       element.LabelElement.MarkerImage = Image.FromFile("D:\\dev.png");    // 设置图片路径
                        element.LabelElement.MarkerImageSizeMode = ChartImageSizeMode.Stretch;
                        element.LabelElement.MarkerSize = new Size(100,100); // 大小
                        element.LabelElement.Text = string.Format("数量:{0}", tempArray[0].ToString());  // 自定义显示文字
      

  14.   

    额。。刚开始我以为就显示文字就行,我就说用toolTipController,但是其实是要显示图片加文字
    如果显示图片和文字不需要用toolTipController也可以实现:                  
       element.LabelElement.MarkerImage = Image.FromFile("D:\\dev.png");    // 设置图片路径
                        element.LabelElement.MarkerImageSizeMode = ChartImageSizeMode.Stretch;
                        element.LabelElement.MarkerSize = new Size(100,100); // 大小
                        element.LabelElement.Text = string.Format("数量:{0}", tempArray[0].ToString());  // 自定义显示文字

    OK,谢谢你啦。
    还有我之前的问题解决了,是在devexpress support center上问的,用英文交流的可费劲了要把Line Series ers的Visible弄成True
      

  15.   

    额。。刚开始我以为就显示文字就行,我就说用toolTipController,但是其实是要显示图片加文字
    如果显示图片和文字不需要用toolTipController也可以实现:                  
       element.LabelElement.MarkerImage = Image.FromFile("D:\\dev.png");    // 设置图片路径
                        element.LabelElement.MarkerImageSizeMode = ChartImageSizeMode.Stretch;
                        element.LabelElement.MarkerSize = new Size(100,100); // 大小
                        element.LabelElement.Text = string.Format("数量:{0}", tempArray[0].ToString());  // 自定义显示文字

    OK,谢谢你啦。
    还有我之前的问题解决了,是在devexpress support center上问的,用英文交流的可费劲了要把Line Series ers的Visible弄成True
    感谢分享,交个朋友吧。
      

  16.   

    额。。刚开始我以为就显示文字就行,我就说用toolTipController,但是其实是要显示图片加文字
    如果显示图片和文字不需要用toolTipController也可以实现:                  
       element.LabelElement.MarkerImage = Image.FromFile("D:\\dev.png");    // 设置图片路径
                        element.LabelElement.MarkerImageSizeMode = ChartImageSizeMode.Stretch;
                        element.LabelElement.MarkerSize = new Size(100,100); // 大小
                        element.LabelElement.Text = string.Format("数量:{0}", tempArray[0].ToString());  // 自定义显示文字

    OK,谢谢你啦。
    还有我之前的问题解决了,是在devexpress support center上问的,用英文交流的可费劲了要把Line Series ers的Visible弄成True
    感谢分享,交个朋友吧。
    我也正有此意,有不懂的还可以问你,QQ369509940
      

  17.   

    额。。刚开始我以为就显示文字就行,我就说用toolTipController,但是其实是要显示图片加文字
    如果显示图片和文字不需要用toolTipController也可以实现:                  
       element.LabelElement.MarkerImage = Image.FromFile("D:\\dev.png");    // 设置图片路径
                        element.LabelElement.MarkerImageSizeMode = ChartImageSizeMode.Stretch;
                        element.LabelElement.MarkerSize = new Size(100,100); // 大小
                        element.LabelElement.Text = string.Format("数量:{0}", tempArray[0].ToString());  // 自定义显示文字

    OK,谢谢你啦。
    还有我之前的问题解决了,是在devexpress support center上问的,用英文交流的可费劲了要把Line Series ers的Visible弄成True
    感谢分享,交个朋友吧。
    我也正有此意,有不懂的还可以问你,QQ369509940
    我比较悲剧,公司不让上qq的。天天给别人交流得用qq邮箱 [email protected]
    共同进步吧。
      

  18.   

    额。。刚开始我以为就显示文字就行,我就说用toolTipController,但是其实是要显示图片加文字
    如果显示图片和文字不需要用toolTipController也可以实现:                  
       element.LabelElement.MarkerImage = Image.FromFile("D:\\dev.png");    // 设置图片路径
                        element.LabelElement.MarkerImageSizeMode = ChartImageSizeMode.Stretch;
                        element.LabelElement.MarkerSize = new Size(100,100); // 大小
                        element.LabelElement.Text = string.Format("数量:{0}", tempArray[0].ToString());  // 自定义显示文字

    OK,谢谢你啦。
    还有我之前的问题解决了,是在devexpress support center上问的,用英文交流的可费劲了要把Line Series ers的Visible弄成True
    感谢分享,交个朋友吧。
    我也正有此意,有不懂的还可以问你,QQ369509940
    我比较悲剧,公司不让上qq的。天天给别人交流得用qq邮箱 [email protected]
    共同进步吧。
    好的,回头有问题发你邮件 嘿嘿~
      

  19.   


    foreach (CrosshairElement element in e.CrosshairElements)
                    {
                        SeriesPoint point = element.SeriesPoint;
                        //object teyp = point.Tag.GetType();
                        double[] tempArray = point.Values;                    element.LabelElement.Text = string.Format("数量:{0}", tempArray[0].ToString());
                    }

    这个确实是可以显示当前移动到的点的值,但是这个没法弄点击显示了吧?
    如果不用鼠标点击,用toolTipController,这个怎么获得鼠标的位置啊?
    我感觉鼠标移动 显示信息比 鼠标点击显示信息带来的体验更好。
    你获取鼠标位置的目的是干啥?
    因为我Label还是想显示他本来的数据,我要显示额外的数据,想用toolTipController
    但是这样的话它显示的位置怎么确定?        private void chartControl4_CustomDrawCrosshair(object sender, CustomDrawCrosshairEventArgs e)
            {            foreach (CrosshairElement element in e.CrosshairElements)
                {
                    SeriesPoint point = element.SeriesPoint;
                    toolTipController.ShowHint("Hit-testing results:\n" + point.Values[0].ToString(), chartControl4.PointToScreen(Form.MousePosition));
                }
            }结果就是这样,它总是在最右边显示、、、、

    可以通过 QueryCursor事件,Point p = e.Cursor.HotSpot; 获得光标坐标请问这个柱状体的不同颜色是怎么设置的,我现在想让鼠标选中的那个柱子的颜色改变,就是没找到如何改变单个柱子的属性,还望赐教。