随笔分类 - C#学习笔记
学习C#总结及转载
摘要:欢迎来到学习摆脱又加深内卷篇 下面是学习异步编程的应用 1.首先,我们建一个winfrom的项目,界面如下: 2.然后先写一个耗时函数: /// <summary> /// 耗时工作 /// </summary> /// <returns></returns> private string Work
阅读全文
摘要:1.什么是简单工厂 现实中的工厂负责生产产品,顾名思义,编程中的简单工厂就是一个生产对象的类,它的主要作用是创建具体的产品类实例。我们以一个生产鼠标为例来分析简单工厂的作用,鼠标有两种:戴尔鼠标和惠普鼠标,代码如下: //鼠标抽象类 public abstract class Mouse { pub
阅读全文
摘要:1、 窗体 的属性1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 (2) WindowState属性: 用来获取或设置窗体的窗口状态。 取值有三种: Normal (窗体正常显示)、 Minimized(窗体以最小化形式显示)和 Maximiz
阅读全文
摘要:一、理解面向对象编程 1.C#,是纯面向对象编程。 所谓面向对象编程,我个人理解是,我们只用对象去实现我们的功能,这样可以很容易达到重复利用。过去用C编程时,我们要用重复的代码,首先考虑到肯定是声明一个函数来封装,使用时再调用即可。但是我想重复使用一类代码(比如创建一个窗体的代码),我们用面向过程的
阅读全文
摘要:c# GDI+简单绘图(一) 最近对GDI+这个东西接触的比较多,也做了些简单的实例,比如绘图板,仿QQ截图等. 最早接触这个类,是因为想做仿QQ截图的效果.巧的很,学会了如何做截图后,.NET课堂上老师也正巧要讲关于c#绘图方面的知识,并且我自己又在网上学习金老师的培训班,也是要用到这个类.在学习
阅读全文
摘要:基本概念就不再多说,后台线程和前台线程的主要区别就是后台线程不会防止进程的终止,这句话如何理解呢?下面用个例子来理解一下。 (阅读时请注意线程和进程的区别) 先来看一下开启子线程的标准流程: public partial class Form1 : Form { private volatile b
阅读全文
摘要:C# Dictionary字典类的使用方法 //定义字典 Dictionary<string, string> d = new Dictionary<string, string>(); //添加字典的元素 for (int i = 0; i < 5; i++) { d.Add("key" + i,
阅读全文
摘要:方式一:使用ParameterizedThreadStart委托 如果使用了ParameterizedThreadStart委托,线程的入口必须有一个object类型的参数,且返回类型为void。且看下面的例子: using System; using System.Threading; names
阅读全文
摘要:网上搜索了好多资料,大多是重绘ComboBox或者使用自定义控件创建一个全新的ComboBox(并非基于window的ComboBox)。 对于菜鸟的我,实现太麻烦,有些代码理解起来困难,但是项目比较急,所以就投机取巧,简单的做了一个比较粗糙的看起来像那么回事。 一、窗体布局如下 二、配置Combo
阅读全文
摘要:public class User { public string Name { get; set; } public int Age { get; set; } } private void _view_UserAdd(object sender, EventArgs e) { var user
阅读全文
摘要:ListBox 和Combox的item 可以是任意的object,所以楼主可以定义自己的class来实现其他属性。比如: 1 2 3 4 5 6 7 8 9 10 11 public class ComboxItem { public string Name { get; set; } publi
阅读全文
摘要:本文转自:C# ListView用法详解 - net-sky - 博客园 (cnblogs.com) 一、ListView类 1、常用的基本属性: (1)FullRowSelect:设置是否行选择模式。(默认为false) 提示:只有在Details视图该属性才有意义。 (2) GridLines:
阅读全文
摘要:如果事件的格式是有参数的,但是给它绑定的方法是没有参数的,需要使用 => 来传参 this.Loaded += (s, e) => DiscoverKinectSensor(); this.Unloaded += (s, e) => this.kinect = null; private void
阅读全文
摘要:一、获取主窗体: form2.ShowDialog(this); //显示窗体2属于窗体1 Form1 form1 = (Form1)this.Owner; //获取或设置拥有此窗体的窗体,返回结果:System.Windows.Forms.Form,表示作为此窗体的所有者的窗体。 form1.Op
阅读全文
摘要:方法一: 1 启动一个独立进程,需要用到的命名空间是:using System.Diagnostics; 进程类是 Process ,进程的相关参数信息类是 ProcessStartInfo 2 等待启动的控制台app代码: using System; using System.Threading;
阅读全文
摘要:需要明确一下C#程序(或者说.NET)中的资源。简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类: 托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象; 非托管资源:不受CLR管理的对象,windows内核对象,如文件、数据库连接、套接字、COM对象等; 毫无例外地,
阅读全文
摘要:一、介绍 DockPanelSuite是托管在GitHub上的一个开源项目,使用在WinForms上,是一个简单、美观的界面组件。其中weiFenLuo.winFormsUI.Docking.dll较为人熟知,它是DockPanel Suite的一个类库,可以实现类似VS的窗口停靠、悬浮、自动隐藏等
阅读全文
摘要:1.查询所有串口名称 String[] Portname = SerialPort.GetPortNames();12.通过串口名(serial_name)查看串口是否被占用 int TestSerial(String serial_name){ try { using (SafeFileHandl
阅读全文
摘要:官网:https://docs.microsoft.com/en-us/visualstudio/debugger/debugger-tips-and-tricks?view=vs-2019 了解Visual Studio中调试器的生产力提示和技巧 2018年6月15日 7分钟阅读 阅读本主题,以了
阅读全文