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. 设置pycharm环境下python内存

    有的时候在pycharm下的python需要加载很大的内存,那我们如何去修改pycharm的环境的内存呢?? 第一个栈内存,第二是堆内存.

  2. 读取根目录src下的指定配置properties文件内容

    代码如下: package com.chen.system.util; import java.io.File; import java.io.FileInputStream; import java ...

  3. 【ArcMap】

    1.加载图层(1)内容列表中右键添加数据(2)目录列表中拖拽(3)导航中的添加数据 2.编辑要素(1)选中编辑器点击开始编辑(2)在编辑要素中选中要编辑的要素 选择构造工具 执行编辑操作(3)停止编辑 ...

  4. 【Python之路】特别篇--微信Web网页版通信的全过程分析

    文章所使用Python版本为py3.5 1.微信服务器返回一个会话ID 微信Web版本不使用用户名和密码直接登录,而是采用二维码登录,所以服务器需要首先分配一个唯一的会话ID,用来标识当前的一次登录. ...

  5. PHP mysqli_more_results() 函数

    定义和用法 mysqli_more_results() 函数检查一个多查询是否有更多的结果. 语法 mysqli_more_results(connection); 参数 描述 connection ...

  6. Microsoft.Practices.Unity使用配置文件总是报错The type name or alias could not be resolved.

    Type name could not be resolved. Please check config file http://stackoverflow.com/questions/1493564 ...

  7. Java中final、finally、finalize

    简述 final 可以用来修饰类.方法.变量,分别有不同的意义: final 修饰的 class 代表不可以继承扩展: final 的变量是不可以修改的:final 的方法也是不可以重写的(overr ...

  8. Map集合循环遍历的几种方式

    package cn.jdbc.test;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import ...

  9. HTML容器标签和文本标签

    html中的容器级标签和文本级标签,css中的块级元素和行内元素是我们常常拿来比较的四个名词(行内块级暂时先不考虑).注:如果标签嵌套错误,可能会发生浏览器解析错误的情况,只是针对嵌套做的这个. 容器 ...

  10. centernet 相关

    1.下代码 git clone https://github.com/Duankaiwen/CenterNet.git 2.