C#————是一个我很不愿意去碰的语言,但是还是得低头,巨硬还是巨硬.......

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

前几天在Github上找开源资料,希望能借鉴一下,仔细一看,window平台的基本上是C#代码,然后这些代码是我无法翻译的,即使有很深的类C基础,但我没有任何基于.Net的常识。

于是我才会萌生了学习.net的想法。在VB6学完之后,我觉得VB.NET没有意思,换了结构,还要带运行库,向下兼容又不好,以至于很长时间内我很讨厌net代码。

Net是一个很重的枷锁,能用VB6去替代的我都会用VB6,但是有一些东西是你没有办法替代的,毕竟20年的差距是巨大的。

不说那么多前言了。

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

有C/C++基础的人[代表着这可能不适合完全零基础的window小白阅读],可以很快的上手这个语言,而且在有.net支持下,一切都是那么的行云流水。[毕竟VS2017不会像VB6IDE一样一天爆炸20几次。]

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

我使用的工具如下:

Vs2017

Vscode

C#语法教程 https://www.runoob.com/csharp/csharp-tutorial.html

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

学习VB的人第一个程序大概是这样的。

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

和VB一样,VSIDE让你可以很快的上手winform开发。[拖控件~~ /。。。但是工程文件真的好大]

使用拖控件和用一个万法相同的语法...赋值语句

所以我们也来制作显示HelloWorld的windows图形程序。[我十分讨厌命令行,但是不能否认,其实命令行程序才是你学习语言好工具]

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

打开VS2017 新建项目 选择

大概进度条几秒钟后,你就能看到这么一个设计页面。

如果你的侧边栏没有工具箱,那么请从视图——》工具箱 ——》公共控件——》选中Button在窗体里拖拽设置一个按钮,双击跳转到代码页面。

应该是长这个样子。

非常熟悉的大括号和void 这是类C语言最经典的标志了。

熟用VB开发的人肯定会很快就明白上面的函数代表着什么,没错,就是事件。

当你去寻找Print函数的时候,很快就会发现,winform并没有给你提供这个函数。

那么我们就用GDI+[C#调用GDIP是真的简单,快哭了,VB要声明一堆东西。]写一下这个函数好了[经过一些百度文字教程,你应该很快就能了解到部分语法]。

    public partial class Form1 : Form{
Graphics aaa;
void Print(string str){
//GDI+ 模拟Print输出
Font PrintFont;
PrintFont = new Font("Microsoft YaHei UI", 24.00F);
SolidBrush Brush = new SolidBrush(Color.FromArgb(, , , ));
aaa = this.CreateGraphics();
aaa.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
aaa.DrawString(str, PrintFont, Brush, , );}
}

接着在Button_Click()事件中调用这个Print。 [winform 貌似没有自动重绘的属性,所以不建议放在Load事件里执行]

        private void button1_Click(object sender, EventArgs e){
Print("HelloWorld");
}

于是我们就得到了第一个C#桌面程序:

C#_初识之HelloWorld的更多相关文章

  1. Python成长之路第一篇(3)_初识字典

    经过上章的学习我们已经了解到了列表可以通过索引来获取对应的值,在本章我们将学到通过名字来索引数据,这种结构的类型称之为映射(maooing),在Python中字典是唯一内建的映射类型,其中的值我们称之 ...

  2. Python基础(1)_初识Python

    一.为什么要编程 解放人力:让机器按照人们事先为其编写好的程序自发地去工作 二.什么是编程语言 编程语言就是程序员与计算机之间沟通的介质:程序员把自己想说的话用编程语言写到文件里,这其实就开发了一个程 ...

  3. 【秒懂Java】【第1章_初识Java】02_软件开发

    通过上一篇文章<01_编程语言>,我们了解到 Java是众多编程语言中的其中一种 编程语言可以用来开发软件 因此,我们即将要学习的Java技术,是属于软件开发的范畴.那软件开发的前景如何呢 ...

  4. python成长之路第三篇(1)_初识函数

    目录: 函数 为什么要使用函数 什么是函数 函数的返回值 文档化函数 函数传参数 文件操作(二) 1.文件操作的步骤 2.文件的内置方法 函数: 一.为什么要使用函数 在日常写代码中,我们会发现有很多 ...

  5. 每天一个Linux命令(19)find命令_初识

    Linux下find命令在目录结构中搜索文件,并执行指定的操作.     (1)用法: 用法: find pathname    -option      [-print | -exec | -ok] ...

  6. Python练习_初识数据类型_day3

    题目 1. 作业 1,有变量name = "aleX leNb" 完成如下操作: 1) 移除 name 变量对应的值两边的空格,并输出处理结果 2) 移除name变量左边的&quo ...

  7. Python练习_初识函数_day9

    1. 1.作业 1,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. 2,写函数,判断用户传入的对象(字符串.列表.元组)长度是否大于5. 3,写函数,检查 ...

  8. 【秒懂Java】【第1章_初识Java】01_编程语言

    各位小伙伴们好哇!从今日起,我将开始更新<秒懂Java>系列文章,从0开始讲解Java的方方面面,后面也将推出配套的视频版,欢迎大家保持关注! 我会尽力办到:在保证通俗易懂的同时,不丢失知 ...

  9. 【秒懂Java】【第1章_初识Java】04_学习资料

    为了学到更多的新知识,我们经常会去网上搜索各种学习资料.或者,在学习.工作过程中遇到了解决不了的问题,我们也会去网上搜索答案(比如百度.谷歌一下).这篇文章,主要想跟大家聊聊关于学习资料的选择. 建议 ...

随机推荐

  1. CAP理论概述

    CAP理论 CAP原则,指在一个分布式系统中,Consistency(一致性).Availability(可用性).Partitiontolerance(分区容错性),三者不可同时拥有. 一致性(C) ...

  2. TypeError: Object of type 'ListSerializer' is not JSON serializable

    问题: 解决:ser.data是json数据,你想要的

  3. 解决ubuntu的screen已经处于Attached状态,无法再打开窗口

    Attached表示该窗口已经被上一登录用户使用,需要重新登录 1. 先查询窗口id screen -ls 3606.node (11/26/2019 07:31:49 PM) (Attached) ...

  4. 一个轻量级的模态组件,“礼貌地”要求您的用户停止使用过时的IE浏览器

    插件github地址:https://github.com/panteng/ie-blocker 我们在做项目时,会考虑到浏览器的兼容问题,当然做,全浏览器都支持的项目我还没经历过,也不想经历,目前做 ...

  5. shell中命令代换$()与`` 、 变量代换${} 、 整数运算$(( )) 的区别

    命令代换$()与`` . 变量代换${} . 整数运算$(( )) 1.$( ) 与 ` ` (反引号) 在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(comm ...

  6. matlab 计算灰度图像的一阶矩、二阶矩、三阶矩

    ​   一阶矩,定义了每个颜色分量的平均强度 ​  二阶矩,反映待测区域颜色方差,即不均匀性 ​  三阶矩,定义了颜色分量的偏斜度,即颜色的不对称性 close all;clear all;clc; ...

  7. IntelliJ IDEA 2017.3 搭建一个多模块的springboot项目(二)

    上一篇我成功搭建了一个项目,名叫bale-project,下面我们继续搭建子模块. 在项目名称上右键,New->Module,新建一个模块. 这次我们选择Spring Initializr 起个 ...

  8. Linux设备驱动程序 之 重要数据结构

    文件对象 文件对象是进程已经打开文件描述符的内存中的表示,单个文件可能有多个表示打开文件描述符的file结构: struct file { union { struct llist_node fu_l ...

  9. 单调队列优化dp(捡垃圾的机器人)

    /************************************************************************* > File Name: a.cpp > ...

  10. mac mysql重置root用户密码

    苹果机安装的MySQL后,设置初始密码 引子:.在苹果机上安装的MySQL之后,通过MySQLWorkBench登录本地数据连接,发现没有密码,而在安装MySQL的过程中,是没有设置过密码的其实,刚刚 ...