C#,入门教程(03)——Visual Studio 2022编写彩色Hello World与动画效果

C#,入门教程(01)—— Visual Studio 2022 免费安装的详细图文与动画教程icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/123350910

C#,入门教程(02)—— Visual Studio 2022开发环境搭建图文教程icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/123434181

软件无非就是输入数据、计算并生成结果。

输入数据、输出结果多样化,比如有数据(库)、文本、文字(流)、数据流、声音、图片、动画与视频等等。计算方法就更多了。

1、创建第二个程序

咱们先复习一下前面已经做过的一点工作。

第一种方法,找到 Visual Studio 2022,点击运行即可。

第二种方法,找到 C:\Zoo\Cat\2022-03-11下的 WindowsFormsApp1.sln 文件,双击打开。

分别点击左上角【文件(F)】...【新建(N)】...【项目(P)】按钮。

进入创建新项目的界面。

如果左侧存在 Windows窗体应用(.NET Frameworl) C#,则点击右下角【下一步】即可。

(这个一般有!)

否则,可以点击(2)(3)(4)这样的选择:C#,Windows,桌面;

选种右侧栏下面的:(5)Windows窗体应用(.NET Frameworl) ,再点击【下一步】即可。

 

2、搭建实验桌面

再进行简单的设置,这个第二回 有详细的介绍,不明白可以回去看看。

 注意:将解决方案和项目放在同一目录中(D)!

点击【创建(C)】。

然后依次放置 Panel1,Panel2;在 Panel1中 放置  Button1, Button2, Button3, Button4;

在 Panel2 中放置 WebBrowser1 。这个请多练习,以后都是这个路数。

再次提醒:下面这个图片中部,有一个带绿色三角的▶启动按钮!

3、彩色的 Hello World!

 双击 【Button1】按钮,进入编写程序界面,请将 button1_click 这段代码编写为:

(比第二回 的内容,增加了一行!)

        private void button1_Click(object sender, EventArgs e)
        {
            string content = "Hello World!";
            content = "<font color=red>" + content + "</font>";
            webBrowser1.DocumentText = content;
        }

点击【▶启动】,你的第二个程序运行起来了!

点击【Button1】:

正如你所愿,红色的hello world!

知道吗?hello world 从你开始,告别黑白片时代,进入彩色世界!你真棒!

4、五颜六色的Hello world!

这显然不能满足我对色彩的要求,希望每个字都不同的颜色!!!怎么办?

点击 Form1.cs【设计】,这个,回到了界面设计的地方。

双击【Button2】按钮,请将 button2_click 这段代码编写为:

        private void button2_Click(object sender, EventArgs e)
        {
            string content = "";
            content += "<font color=red>" + "H" + "</font>";
            content += "<font color=yellow>" + "e" + "</font>";
            content += "<font color=blue>" + "l" + "</font>";
            content += "<font color=green>" + "l" + "</font>";
            content += "<font color=black>" + "o" + "</font>";
            content += "<font color=red>" + " " + "</font>";
            content += "<font color=green>" + "w" + "</font>";
            content += "<font color=blue>" + "o" + "</font>";
            content += "<font color=green>" + "r" + "</font>";
            content += "<font color=red>" + "l" + "</font>";
            content += "<font color=yellow>" + "d" + "</font>";
            content += "<font color=red>" + "!" + "</font>";
            webBrowser1.DocumentText = content;
        }

程序中的  content += ... ,其中的 += 可以理解为一种简写,等于:

content = content + ...

"<font color=red>" 等等都是 HTML 的语法,不是很懂也没关系,照猫画虎即可。当然,这是比较原始的写法,以后再用更好的方式。

点击【▶启动】,你的第二个程序运行起来了!

点击【Button2】:

 神奇不能就此止步!要不要再继续?

这时候,你还可以 按住键盘 Ctrl ,然后 滚动 鼠标的滚轮 试试?看看有什么神奇的效果?

5、每次不同颜色的 Hello world!

稍微学点新东西。

点击 Form1.cs【设计】,这个,回到了界面设计的地方。

双击【Button3】按钮,请将 button3_click 这段代码编写为:

        private void button3_Click(object sender, EventArgs e)
        {
            string content = "Hello World!";
            // 定义一个随机数发生器(骰子机)
            Random rnd = new Random();
            // 计算机上面的颜色一般用三个数表示,分别是 红色、绿色、蓝色;
            // 称为 RGB 系统;颜色的数值一般都是 0 到 255;
            // 定义一个整数int 类型的变量 colorRed 用以保存随机生成的 红色数值;
            int colorRed = rnd.Next(0, 255);
            // 定义一个整数int 类型的变量 colorGreen 用以保存随机生成的 红色数值;
            int colorGreen = rnd.Next(0, 255);
            // 定义一个整数int 类型的变量 colorBlue 用以保存随机生成的 红色数值;
            int colorBlue = rnd.Next(0, 255);
            // 后面这两句先不管它,以后再介绍。
            string fontStyle = "color:rgb(" + colorRed + "," + colorGreen + "," + colorBlue + ");";
            content = "<font style='" + fontStyle + "'>" + content + "</font>";
            webBrowser1.DocumentText = content;
        }

点击【▶启动】,再点击【Button3】即可出现不同颜色的 hello world!

不同的是!!!你可以多次点击【Button3】,每次的颜色都不同啊!

6、Hello world! 动画

动画很难吗?你马上就可以实现人生第一个动画!真的!

点击 Form1.cs【设计】,这个,回到了界面设计的地方。

双击【Button4】按钮,请将 button4_click 这段代码编写为:

        private void button4_Click(object sender, EventArgs e)
        {
            // 创建一个定时器
            Timer timer1 = new Timer();
            // 定时器的时钟周期为 1000 毫秒(1秒)
            timer1.Interval = 1000;
            // 每个时间周期执行的代码是 button3_Click
            timer1.Tick += button3_Click;
            // 启动该定时器!
            timer1.Enabled = true;
        }

以上代码稍微有点难度,不好理解。

点击【▶启动】,再点击【Button3】即可出现不断变颜色的 hello  world!

button4_click 这段程序,相当于计算机代替你在不断地,每间隔1000毫秒,按一次【Button3】。机器人呢!如果觉得不够快,可以将 1000 改为 200 试试。

一个 Hello world 玩出这些花样,C# 比你知道的神奇多了。

 ——————————————————————

POWER BY 315SOFT.COM &
TRUFFER.CN

下一篇:

C#,入门教程(04)——Visual Studio 2022 数据编程实例:随机数与组合icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/123533838

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/282450.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hampel滤波器是一种基于中位数的离群值检测方法【异常值检测方法】

Hampel滤波器是一种基于中位数的离群值检测方法&#xff0c;也是一种线性滤波器&#xff0c;由德国数学家和统计学家John Hampel在1974年提出。它主要用于去除信号中的脉冲噪声&#xff0c;具有很强的抗干扰能力&#xff0c;因此被广泛应用于信号处理、通信系统等领域。 1.基本…

SpringBoot定时监听RocketMQ的NameServer

问题分析 自己在测试环境部署了RocketMQ&#xff0c;发现namesrv很容易挂掉&#xff0c;于是就想着监控&#xff0c;挂了就发邮件通知。查看了rocketmq-dashboard项目&#xff0c;发现只能监控Broker&#xff0c;遂放弃这一路径。于是就从报错的日志入手&#xff0c;发现最终可…

【Redis-08】Redis主从复制的实现原理

在Redis中&#xff0c;可以通过slaveof命令或者设置slaveof选项实现两台Redis服务器的主从复制&#xff0c;比如我们有两个Redis机器&#xff0c;地址分别是 127.0.0.1:6379 和 127.0.0.1:6380&#xff0c;现在我们在前者上面执行&#xff1a; 127.0.0.1:6379 > SLAVEOF 12…

STC8H系列单片机入门教程之NVC系列语音播报模块(九)

一、模块简述 ● 模组支持3.3V和5V单片机供电系统 ● 标准2.54MM间距排针与外部连接 ● 支持喇叭0.5W/8欧 ● 适合用于超声波距离、电子秤重量、时钟时间、温度、球赛比分等语音播报 二、引脚说明 序号 名称 说明 1 VCC 电源正&#xff08;3.3V-5V&#…

『精』CSS 小技巧之BEM规范

『精』CSS 小技巧之BEM规范 文章目录 『精』CSS 小技巧之BEM规范一、什么是BEM&#xff1f;二、BEM要怎么用&#xff1f;三、不用BEM会少个胳膊吗&#xff1f;&#x1f48a;四、Sass与BEM的结合&#x1f388;五、块与修饰符应放在一块&#x1f47f;参考资料&#x1f498;推荐博…

Android Matrix画布Canvas旋转Rotate,Kotlin

Android Matrix画布Canvas旋转Rotate&#xff0c;Kotlin private fun f1() {val originBmp BitmapFactory.decodeResource(resources, R.mipmap.pic).copy(Bitmap.Config.ARGB_8888, true)val newBmp Bitmap.createBitmap(originBmp.width, originBmp.height, Bitmap.Config.…

vscode调用HTML文件

vscode实现对HTML文件调用 创建html文件下载拓展内容点击拓展查找需要的拓展 导入html代码设置默认打开浏览器运行结果参考文献 做数据库课设的内容,尝试一些自己没有接触过的东西,了解如何创建一个网站以及数据库的一个应用 创建html文件 创建一个html的文件,加入后缀名 下…

docker搭建minio集群,集群分享文件URL踩坑问题

一、环境准备 3台机器&#xff0c;Ip地址依次为IP1,IP2,IP3二、设置服务器时间同步 Minio集群需要各个节点的时间保持同步&#xff0c;使用NTP作为时间同步服务&#xff0c;这里以Minio-1&#xff08;IP1&#xff09;为上游服务器&#xff0c;其它2个节点为下游服务器&#x…

HarmonyOS 组件通用属性之通用事件 文档参数讲解(点击事件)

我们组件中 会有很多通用的信息和方法 那么 首先 我们看通用事件 通用事件中 最常用的就是我们的点击事件 比如说 我们之前常写的 组件.onClick(()>{//事件逻辑 })但是 我们之前 都没有用它接参数 我们可以这样 Button("跳转").onClick((ewat: ClickEvent)>…

Matplotlib_艺术画笔见乾坤

文章目录 一、概述&#xff1a;1.matplotlib的三层api2.Artist的分类3.matplotlib标准用法 二、自定义你的Artist对象1.Artist属性 在图形中的每一个元素都对应着一个matplotlib Artist&#xff0c;且都有其对应的配置属性列表。2.属性调用方式 三、基本元素 - primitives1.2DL…

[MySQL] MySQL中的事物

本片文章对MySQL中的事物进行了详解。其中包含了事物的特性、为什么要有事物、查看事物版本支持、事物常见操作、事物的隔离界别等等内容进行详细举例解释。同时还深入讲解了事物的隔离性&#xff0c;模拟实现MVCC多版本并发控制&#xff0c;也讲解了RR和RC的本质区别。希望本篇…

汽车保养软件app开发步骤

“增强您的动力&#xff0c;为您的旅程加油——每一刻都讲述着关爱的故事。构建汽车维护软件app&#xff0c;为您的车辆提供数字化的维修站&#xff0c;从而开启长寿之路。智能驾驶、互联驾驶、自信驾驶。” 疯狂地搜索旧收据并猜测上次换油时间的日子已经一去不复返了。如果您…

LINUX 抓包工具Tcpdump离线安装教程

本次教程基于内网环境无法访问网络使用安装包进行安装抓包工具 1、首先给大家看下一共有6个安装包&#xff0c;依次进行解压&#xff0c;包我就放到csdn上了&#xff0c;需要的可以联系我进行下载 2打包然后传到服务器任意一个目录下&#xff0c;进入到当前目录&#xff0c;然后…

Maven下载和安装的详细教程

文章目录 一、Maven下载和安装1.1 下载 Maven1.2 配置环境变量 参考资料 一、Maven下载和安装 1.1 下载 Maven 打开 Maven 的官方网站Maven – Download Apache Maven&#xff0c;下载最新版本的 Maven 在可选择的版本中&#xff0c;不同版本的区别在于: binary是已经编译过的…

【网络面试(2)】DNS原理-域名和IP地址的查询转换

从上一篇博客我们得知浏览器是如何生成了HTTP消息了&#xff0c;但是浏览器作为应用程序&#xff0c;是不具备向网络中发送请求的能力&#xff0c;而是需要委托给操作系统的内核协议栈来发送请求。在委托协议栈之前&#xff0c;浏览器还要做的一件事情就是将域名转换为IP地址。…

Pytest 项目结合Jenkins

一、window安装centos7虚拟机 参考网上其他教程 二、Linux安装Jenkins 进入jenkins.io网址&#xff0c;点击download&#xff0c;选择CentOS版本 1、Linux中安装java环境和git Jenkins的运行需要java环境&#xff1b;安装git是为代码上传给仓库做准备&#xff1b; yum - y…

AI与数字化映像:颜值开端,功能至上_光点科技

在人工智能的浪潮中&#xff0c;AI数字人的兴起正成为一个不可忽视的现象。随着ChatGPT等生成式AI算法的进步&#xff0c;AIGC&#xff08;人工智能生成内容&#xff09;的应用呈现出爆发性增长&#xff0c;不仅在技术圈引起广泛关注&#xff0c;也为元宇宙及其相关产业链带来了…

读算法霸权笔记08_反馈

1. 关开门 1.1. clopening 1.2. 指的是一个职员工作到很晚&#xff0c;关闭门店或者咖啡店&#xff0c;几小时后又在天亮之前回来开门 1.3. 极度不规律的工作时间安排越来越常见 1.3.1. 首当其冲的是星巴克、麦当劳和沃尔玛等企业的低薪职工 1.3.2. 不规律的工作时间安排是…

大一c语言期末复习题

第16题&#xff1a; 答案&#xff1a; #include<stdio.h> void hello_world(void) {printf("Hello,world!\n"); } void three_hellos(void) {int i 0;for (i 0; i < 3; i) //调用3次函数{hello_world();} } int main() {three_hellos();return 0; } 知…

Self-attention学习笔记(Self Attention、multi-head self attention)

李宏毅机器学习Transformer Self Attention学习笔记记录一下几个方面的内容 1、Self Attention解决了什么问题2、Self Attention 的实现方法以及网络结构Multi-head Self Attentionpositional encoding 3、Self Attention 方法的应用4、Self Attention 与CNN以及RNN对比 1、Se…