码迷,mamicode.com
首页 > Windows程序 > 详细

使用C#的第一个WP程序

时间:2015-03-14 21:25:04      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

今天使用C#完成第一个hello world 的程序,但是为了让程序看起来不那么单调,所以增加了自动变色的代码.

首先,先放出来程序的截图

技术分享技术分享技术分享技术分享

点击开始的时候,hello world 会自动变色.

这里用到的东西也比较简单

主要的知识点是使用委托.

在整个变色过程中是,是不能再UI线程中进行的,这样会阻塞UI线程,造成卡顿,这不是我们想要的效果,这时候我们就应该使用委托来完成

下面贴出代码

 

 //委托对象
        DelegateTest delegateObject;
        delegate void DelegateTest(int i);
        /// <summary>
        /// 按钮点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            delegateObject = SetColor;
            Thread thread = new Thread(ChangeColorThread);
            thread.Start();  
        }
        /// <summary>
        /// 修改颜色线程
        /// </summary>
        public void ChangeColorThread()
        {
            for (int i = 0; i < 100; i++)
            {
                //调用委托
                this.Dispatcher.BeginInvoke(delegateObject, i);
                //一秒钟变换一次
                Thread.Sleep(1000);
            }

        }
        public void SetColor(int i)
        {
            
            Random r = new Random();
            //取随机数
            int col = r.Next(0, 5);
            //调用方法根据不同的数字更新不同的颜色
            Title.Foreground = new SolidColorBrush(GetColorValue(col));
            
        }
        public void UpdateColor()
        {
            //循环100次
            for (int i = 0; i < 100; i++)
            {
                this.Dispatcher.BeginInvoke(delegateObject, i);
                Thread.Sleep(1000);
                //睡眠1秒
            }
        }
        /// <summary>
        /// 该方法可以用来获取颜色
        /// </summary>
        /// <param name="i"></param>
        /// <returns></returns>
        public System.Windows.Media.Color GetColorValue(int i)
        {
            switch (i)
            {
                case 0:
                    return Colors.Blue ;

                case 1:
                    return Colors.Brown;
                case 2:
                    return Colors.Cyan;
                case 3:
                    return Colors.Green;
                case 4:
                    return Colors.Red;
                default:
                    return Colors.Orange;

            } 
            
        }

 

详细的代码已经贴出俩了,内容比较简单,我个人很喜欢使用C#做开发,因为C#的开发速度很快,VS更是号称宇宙第一IDE,有着强大的功能,可以让开发者有更高的开发速度.

 

使用C#的第一个WP程序

标签:

原文地址:http://www.cnblogs.com/MelodyWang/p/4338262.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!