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. SpringBoot项目中使用Bootstrap 的CSS、JS资源

    首先 需要在 application.properties 文件中添加这句 spring.mvc.static-path-pattern=/** 不然是使用不了的 还有一种办法就是 使用bootstr ...

  2. <<代码大全>>阅读笔记之二 变量名的力量

    1.变量命名的注意事项 1)可理解性 变量要望文知义,看到这个变量不用看其他的代码就知道这个变量表示什么意思 好的变量命:currentDate, heartRate 糟糕的变量名:newButton ...

  3. Ubuntu本地软件源制作

    操作 获取需要的deb包 #执行安装后,安装的包会保存在/var/cache/apt/archives 目录下 apt-get install vim #查看 正在处理用于 man-db (2.8.7 ...

  4. 【Python之路】特别篇--Django瀑布流实现

    瀑布流 瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.最早采用此布局的网站是Pinteres ...

  5. 多线程中volatile关键字的作用

    原文链接:https://blog.csdn.net/xuwentao37x/article/details/27804169 多线程的程序是出了名的难编写.难验证.难调试.难维护,这通常是件苦差事. ...

  6. JS核心知识点:DOM\BOM\EVENT

    1.DOM(Document Object Model) :文档对象模型2. DOM节点:页面中最基本的组成部分 3. childNodes:获取某个节点下所有的子节点 在标准及ie9以上 : 会获取 ...

  7. pydub音频处理库的使用

    pydub音频处理库的使用 在使用pydub这个模块之前应确保你的libav或者FFmpeg Mac上安装libav或FFmpeg brew install libav --with-libvorbi ...

  8. Int和Integer(课上测试)

    截图 第一段代码: 第二段代码: 两段代码出现不同结果的原因:Integer类型的取值范围为-128至128之间,小于128的数(图1)为正确,大于128的数(图2)为错误

  9. ArcGIS Python 获得坐标

    import arcpy infc = arcpy.GetParameterAsText(0) # Identify the geometry field # desc = arcpy.Describ ...

  10. js对象和jQuery对象相互转换

    (1)什么是js对象及代码规则 就是使用js-API,即Node接口中的API或是传统JS语法定义的对象,叫做js对象 js代码规则----divElement var divElement = do ...