zoukankan      html  css  js  c++  java
  • 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。

    么么么么哒

  • 相关阅读:
    OpenFileMapping
    findwindow
    CopyMemory
    SetWindowsHookEx
    fillchar
    什么是ashx文件
    WPF中的控件
    WPF X名称空间里都有什么
    XAML语法学习之...
    Repeater控件使用总结
  • 原文地址:https://www.cnblogs.com/MelodyWang/p/4338262.html
Copyright © 2011-2022 走看看