随笔分类 - 知识库
摘要:1.进程与线程 进程是资源管理的最小单位,有自己的内存空间,一个进程可以有多个线程,各线程之间共享进程的系统资源。 多线程的意义在于多任务的并发执行。多线程对于自动化领域意义重大,例如一个线程去访问硬件设备读写数据,另一个线程需要操作数据库, 如果放在同一个线程中,那么就会造成程序的严重卡顿。 2.
阅读全文
摘要:使用场景:当标准控件或第三方控件不满足需求时,可以通过自定义控件来实现,例如标签可以旋转任意角度。 1.创建控件工程 myControl 中间创建过程,不再截图。 UserControl1重命名为LibControl。 准备两张PNG:open.png,close.png,导入到resources中
阅读全文
摘要:GDI+ (graphics device interface plus) 图形设备接口,用于在屏幕显示或打印图形和文字。 1.基本概念 画图需要画板,画笔(勾勒轮廓),画刷(填充内部),以及技巧(控制画笔去勾勒)。 public partial class Form2 : Form { publi
阅读全文
摘要:1. 数值转换 1.1 强制转换 int i = 3; string j = "10"; double d = 11.5; i = (int)d; d = (double)i; // i = (int)j; // 无法编译通过 1.2 Parse 一旦转换失败就会抛出异常。 i = int.Pars
阅读全文
摘要:1. 默认布局 把控件直接放到窗体上,设计时可用鼠标改变位置和大小,运行时只能通过代码去改变。 备注:做不到一点自适应,窗体或屏幕大小一旦改变,控件还是停留在原来地方。 2. 边界布局(Dock或Anchor) 利用属性(Dock或Anchor)来实现布局,Dock来设置控件的停靠方式,Anchor
阅读全文
摘要:1. TreeView 树形控件 /// <summary> /// 添加 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnTreeAdd_Click(obje
阅读全文
摘要:1. DataGridView /// <summary> /// 添加列 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnStyle_Click(object
阅读全文
摘要:在使用DataGridView时,预览数据发生了上述错误。 原因:没有引用Microsoft.Data.SqlClient。 解决:从NuGet安装Microsoft.Data.SqlClient,如果直接安装最新版本,可能还是会报错。 建议先安装5.0.0.0版本,然后再更新升级。 或者先删除Da
阅读全文
摘要:1. 公共属性 序号 属性 作用 1 Name 控件的ID,类似于人的身份证号码 2 Text 控件的文本,用于显示给用户看 3 Enabled 控件是否可用 4 Location 控件的位置信息,可以通过代码动态改变 5 FlatStyle 外观样式 Flat,Popup,Standard,Sys
阅读全文
摘要:1. dynamic .Net Framework4.0新特性,提供了一种弱类型语言特性。 定义的时候不需要指定类型,只在运行时检查,和var不一样。 /// <summary> /// dynamic类型 /// </summary> public void TestDynamic() { dyn
阅读全文
摘要:key-value方式,key不可以重复,value可以。 namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private stati
阅读全文
摘要:1.条件语句 public void Test3() { int a = 1; int b = 2; int c = a + b; if (c > 0) { MessageBox.Show(c.ToString()); } else if (c == 0) { MessageBox.Show("c=
阅读全文
摘要:1. 变量 int i = 10; 变量类型+空格+变量名称+空格+初始值。 2. 常量 const double PI = 3.1415926; 固定不变的值用常量表示,只能赋值一次。 3.基本数据类型 用C#编程有两套数据类型,一是C#语言自带的,二是.Net Framework提供的(CTS)
阅读全文
摘要:1.简史 2002 发布C# 1.0(.Net Framework 1.0) 和 VS2002。 2014 为了解决市场占有率不高以及不能跨平台等问题,.NET Core 发布并开源。 2020 .NET5.0发布,去掉Core字样,并宣布.Net Framework4.8是.Net Frmaewo
阅读全文
摘要:Array.from(document.querySelectorAll("code")).map(a=>{a.style="user-select:text;"}); $("#content_views").off("copy");
阅读全文
摘要:原文参考:https://blog.csdn.net/polsnet/article/details/129711365 , https://www.cnblogs.com/ywtssydm/p/18131890 一、lambda表达式介绍 无参数 () =>{return "1";}; 等同于 s
阅读全文
摘要:创建数组 string[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; int[] myNum1 = {10, 20, 30, 40}; int[] myNum2 = new int[4]{10, 20, 30, 40}; int[] myNum3 = new
阅读全文
摘要:int x = 10, y = 2, z = -1; double d = 9.99; 1. 最大值 Math.Max(x, y); // 10 2. 最小值 Math.Min(x, y); // 2 3. 开平方 Math.Sqrt(x); // 3.1622776601683795 4. 绝对值
阅读全文
摘要:1. 运算操作符 int m = 0, j = 1; 序号 操作符 作用 举例 1 + 加 m=m+j; // 结果:1 2 - 减 m=m-j; // 结果:-1 3 * 乘 m=m*j; // 结果:0 4 / 除 m=m/j; // 结果:0 5 % 取余 m=m%j; // 结果:1 6 +
阅读全文
摘要:概念 读取用户输入,并存储到变量中,然后打印出来。 代码 Console.Write("请输入姓名:"); string? name = Console.ReadLine() ?? ""; // 读取用户输入,接收的只被认作字符串。 Console.WriteLine(name); 请输入姓名:张三
阅读全文

浙公网安备 33010602011771号