silverlight   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了silverlight 动态线性图 自制控件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

public MainPage()         {                         InitializeComponent(); chartshujuimg41 = new Queue<int> { };             chartshujuimg42 = new Queue<int> { };             for (int i = 0; i < 50; i

public MainPage()
        {
           
            InitializeComponent();

chartshujuimg41 = new Queue<int> { };
            chartshujuimg42 = new Queue<int> { };
            for (int i = 0; i < 50; i++)
            {
                chartshujuimg41.Enqueue(0);
                chartshujuimg42.Enqueue(0);
            }}

   

     Line[] line51 = new Line[50];
     Line[] line52 = new Line[50];
        /// <sumMary>
        /// 初始化line,数组
        /// </sumMary>
        /// <param name="css">canvas</param>
        /// <param name="linearr1"></param>
        /// <param name="linearr2"></param>
     void chushihua(Canvas css,Line[] linearr1,Line[] linearr2)
     {
         Point p = new Point();
         p.X = 250;
         p.Y = 250;
         for (int i = 0; i < 50; i++)
         {
             linearr1[i] = new Line();

             linearr1[i].stroke = new SolidColorBrush(Colors.bluE);
             linearr1[i].X1 = p.X - i * 4;
             linearr1[i].Y1 = p.Y;
             linearr1[i].X2 = p.X - i * 4;
             linearr1[i].Y2 = p.Y - 100;
             css.Children.Add(linearr1[i]);
         }
         for (int i = 0; i < 50; i++)
         {
             linearr2[i] = new Line();
             linearr2[i].stroke = new SolidColorBrush(Colors.Red);
             linearr2[i].X1 = p.X - 2 - i * 4;
             linearr2[i].Y1 = p.Y;
             linearr2[i].X2 = p.X - 2 - i * 4;
             linearr2[i].Y2 = p.Y - 100;
             css.Children.Add(linearr2[i]);
         }
         //line1.stroke = new SolidColorBrush(Colors.bluE);
         //line1.X1 = p.X - 0;
         //line1.Y1 = p.Y;
         //line1.X2 = p.X - 0;
         //line1.Y2 = p.Y - 100;
       
     }

       /// <sumMary>
       /// 修改每个line的长度
       /// </sumMary>
       /// <param name="q1">数据一</param>
       /// <param name="q2">数据二</param>
       /// <param name="l1"></param>
       /// <param name="l2"></param>
      void chartline(Queue<int> q1,Queue<int> q2,Label l1,Label l2,Line[] linearr2)
      {
       
        
          Point p = new Point();
          p.X = 250;
          p.Y = 250;
          int i=0;
        
       foreach (int item in q1)
       {
           if (i==49)
           {
               l1.Content = "发送:"+item+" kbps";
           }
           linearr1[i].X1 = p.X - i * 4;
           linearr1[i].Y1 = p.Y;
           linearr1[i].X2 = p.X - i * 4;
           linearr1[i].Y2 = p.Y - item;
           i++;
}
              //line[i] = new Line();
              //line[i].stroke = new SolidColorBrush(Colors.bluE);
        
             // canline.Children.Add(line[i]);
       i = 0;
      
              //line2[i] = new Line();
              //line2[i].stroke = new SolidColorBrush(Colors.Red);
        foreach (int item in q2)
        {
            if (i == 49)
            {
                l2.Content = "接收:" + item + " kbps";
            }
            linearr2[i].X1 = p.X - 2 - i * 4;
            linearr2[i].Y1 = p.Y;
            linearr2[i].X2 = p.X - 2 - i * 4;
            linearr2[i].Y2 = p.Y - item;
              i++;
}
           
            //  canline.Children.Add(line2[i]);
         

          //foreach (int item in q1)
          //{
          //    Line line = new Line();
          //    line.stroke = new SolidColorBrush(Colors.bluE);
          //    line.X1 = p.X - 3 * count;
          //    line.Y1 = p.Y;
          //    line.X2 = p.X - 3 * count;
          //    line.Y2 = p.Y - item;
          //    cas.Children.Add(linE);
          //    int q2count = 0;
          //    foreach (int item2 in q2)
          //    {
          //        if (q2count == count)
          //        {
          //            Line line2 = new Line();
          //            line2.stroke = new SolidColorBrush(Colors.Red);
          //            line2.X1 = p.X - 3 - 3 * count;
          //            line2.Y1 = p.Y;
          //            line2.X2 = p.X - 3 - 3 * count;
          //            line2.Y2 = p.Y - item2;
          //            cas.Children.Add(line2);
          //            break;
          //        }
          //        q2count++;
          //    }

          //    count++;
          //}
     
         
       
      
      }

private void button31_Click(object sender,RoutedEventArgs E)
      {
          chushihua(canline5,line51,line52);//先初始化每个line数组

private void button32_Click(object sender,RoutedEventArgs E)//后改变每个line的长度
      {

   Random rd = new Random();
                                chartshujuimg42.Enqueue(rd.Next(0,100));

                                if (chartshujuimg41.Count > 50)
                                {
                                    chartshujuimg41.Dequeue();

                                }
                                if (chartshujuimg42.Count > 50)
                                {
                                    chartshujuimg42.Dequeue();

                                }

  chartline(chartshujuimg41,chartshujuimg42,labchart41,labchart42,line41,line42);

大佬总结

以上是大佬教程为你收集整理的silverlight 动态线性图 自制控件全部内容,希望文章能够帮你解决silverlight 动态线性图 自制控件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。