C#博客随笔之一:使用C#的第一个WP程序

今天使用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,有着强大的功能,可以让开发者有更高的开发速度.

昂,基于别人问我对hello world 的看法,我只想说,这是固定的吗  不可以是 hello C++,hello JAVA,hello C#呢,昂昂

活学活用,have fun。

么么么么哒

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