大佬教程收集整理的这篇文章主要介绍了silverlight 动态线性图 自制控件,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
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++;
// }
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,请注明来意。