C#
集电极
这个作者很懒,什么都没留下…
展开
-
winform7、(c#) 窗口启动时隐藏主窗口
winform7、(c#) 窗口启动时隐藏主窗口隐藏窗口用的是this.Hide();,但是在主窗口构造函数里使用并不生效。让C#让窗体在启动时直接隐藏最完美的解决办法,不闪烁。思路为:首先将窗体透明度设置为0,这样窗体在启动时就不显示了,然后再调用Hide将窗体隐藏再将其透明度设置为1即可。其实就设置2个地方就行了。1:设置窗体透明度为0我在实践中,我没有设置Opacity 属性为0% ,下面代码一样,没有改变,也达到同样效果。如果没有this.Opacity = 1; 语句,窗口会闪烁一原创 2021-11-24 13:12:34 · 5134 阅读 · 0 评论 -
winform6、(C#)程序开机启动时读取文件失败
winform6、(C#)程序开机启动时读取文件失败今天在测试程序的时候发现,通过注册表来开机自启动程序时,读取不到配置文件,最后终究是发现了问题所在:程序中使用了相对路径,而通过注册表启动时程序的工作目录位于:系统盘C:/windows/system32所以此时通过相对路径是找不到文件的,知道了原因,当然就很好解决了,使用绝对路径即可!可以通过下面语句获取程序当前目录路径, 再加上配置文件的相对路径就可以了//获取和设置包含该应用程序的目录的名称。string str = System.App原创 2021-11-24 13:11:12 · 667 阅读 · 0 评论 -
winform设置Sunny 主题按钮等控件文字图标
winform设置Sunny 主题按钮等控件文字图标设置Symbol 属性如果不显示字体图标就设置为0原创 2021-11-24 13:08:00 · 1361 阅读 · 0 评论 -
winform5、高清屏下字体模糊的解决方法
winform5、高清屏下字体模糊的解决方法具体步骤:1、选择当前项目,单击鼠标右键,选择【添加】|【类】;2、选择【应用程序清单文件】;3、打开刚才建立的清单文件,添加下面的代码4、保存运行,发现修复了界面模糊问题。如果app.manifest 应用程序清单文件存在下面代码, 就把下面代码的注释去掉。注意:不同windows,下面的代码不一定有两行设置<application xmlns="urn:schemas-microsoft-com:asm.v3"> &原创 2021-11-24 13:03:05 · 746 阅读 · 0 评论 -
Winform的菜单控件
Winform的菜单控件Winform的菜单是有独立控件的,添加完菜单控件后,在要添加菜单的控件的ContextMenuStip 属性添加菜单控件找到菜单控件拖到界面底部栏原创 2021-11-24 13:03:43 · 932 阅读 · 0 评论 -
C# winform设置开机启动
C# winform设置开机启动命名空间using Microsoft.Win32;代码注意this.uiCheckBox1.Checked时针对Winfom程序的,如果是命令行程序要另外设置一个触发值private void cbx_startup(){ // 要设置软件名称,有唯一性要求,最好起特别一些 string SoftWare = "SunnyNetEaseCloud"; // 注意this.uiCheckBox1.Checked时针对Winf原创 2021-11-24 13:04:09 · 2702 阅读 · 0 评论 -
C#获取指定网址的ip
C#获取指定网站的ip命名空间using System.Net.NetworkInformation;using System.Net;代码public String GetIP(String website){ String ipAddress = ""; Ping p = new Ping(); try { PingReply r = p.Send(website); if (r.Status == IPStatus.Succ原创 2021-11-24 13:05:05 · 1466 阅读 · 0 评论 -
C# 删除指定Windows端口的进程
C# 删除指定端口和运行端口的名称的进程命名空间using System.Diagnostics;using System.Text.RegularExpressions;using System.IO;思路是通过 cmd 的netstat 命令获取端口的所有进程号(通过解析字符串)。然后通过Process 进程对象获取进程。最后使用Process 的kill() 方法杀死进程代码public int kill_port(int port = 52001, string nodeName原创 2021-11-24 13:05:28 · 1036 阅读 · 0 评论 -
C# 判断端口是否被占用
C# 判断端口是否被占用命名空间System.Net.NetworkInformation下定义了一个名为IPGlobalProperties的类,我们使用这个类可以获取所有的监听连接,然后判断端口是否被占用,代码如下:using System.Net.NetworkInformation;using System.Net;public static bool PortInUse(int port){ bool inUse = false; IPGlobalProperties原创 2021-11-23 21:44:49 · 2645 阅读 · 1 评论 -
C#判断ip是否可用
C#判断ip是否可用也可以判断局域网内计算机是否开机,网络连接是否正常使用如下的C#代码,我们可以判断局域网或者是互联网上的某台计算机,是否处于开机状态,并且,网络连接情况是否正常。使用的原理是:通过调用PING的方法,能PING成功的为开机、并且网络连接状态正常。否则处于网络状态不正常或关机。引用命名空间using System.Net.NetworkInformation;函数内容如果在static void Main(string[] args) 调用,要加static 关键字p原创 2021-11-23 21:44:06 · 2508 阅读 · 0 评论 -
winform4、C#中WinForm程序退出方法(释放资源)
winform4、C#中WinForm程序退出方法(释放资源)有以下方式1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;2.Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;3.Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;4.System.Environment.Exi原创 2021-11-23 21:04:33 · 886 阅读 · 0 评论 -
C#在 Visual Studio 中快捷生成toString方法重写
C#在 Visual Studio 中快捷生成toString方法重写操作说明在 C# 类代码中键入 override 中键入 Overrides,后接空格(可在此处插入重写方法)。原创 2021-11-23 20:58:19 · 3399 阅读 · 0 评论 -
Winform SunnyUI主题 的UIForm主窗体的一些显示属性
Winform SunnyUI主题 的UIForm主窗体的一些显示属性属性作用ShowRect是否显示边框ShowRadius是否显示圆角Showshadow是否显示阴影ShowTile是否显示窗体的标题栏ShowTitelcon显示标题栏图标ShowDragStretch显示边框可拖拽调整窗体大小...原创 2021-11-23 20:56:12 · 2625 阅读 · 0 评论 -
Winform SunnyUI主题窗体属性:图标,可变大小,标题栏扩展按钮
Winform SunnyUI主题窗体属性:图标,可变大小,标题栏扩展按钮把窗体的AutoScaleMode从Font设置为None,否则可能出现因为屏幕分辨率而导致的窗体变形。拖拽调整窗体大小ShowDragStretch 设置为true,显示边框可拖拽调整窗体大小。显示任务栏图标设置Icon,将ShowIcon设置为true,再打开ShowTitleIcon可显示窗体标题栏图标。显示标题栏扩展按钮ExtendBox设置为true,可在标题栏现有按钮最小化按钮的左边显示一原创 2021-11-23 20:54:32 · 4744 阅读 · 0 评论 -
Winform3、事件触发机制学习:事件的注册和定义和参数含义
Winform3、事件触发机制学习:事件的注册和定义在一个Form窗体中拖个按钮,双击后系统自动生成代码:// 定义事件,一般在Form.cs文件// 默认事件是有命名规范的,控件命_事件名_个数(1个可省略)private void button_Click( object sender ,EventArgs e){ //事件详细操作}同时在窗体的InitializeComponent( )方法中自动生成代码// 注册事件(声明委托),一般在Form1.Designer.csthi原创 2021-11-23 20:53:12 · 1397 阅读 · 0 评论 -
Winform2、(C#) 设置编译后.exe执行文件的图标
Winform2、(C#) 设置编译后.exe执行文件的图标1、打开项目的属性,把图标放在项目目录下2、设置属性应用程序 下的图标选项,选择自己的图标,可以用绝对路径。选项右边有显示当前选择的图标。3、之后运行程序,得到的exe执行文件就会有图标...原创 2021-11-23 15:01:31 · 4905 阅读 · 1 评论 -
Winform1、看Winform源码时要做的开始步骤
看Winform源码时要做的开始步骤1.打开控件的窗口文件,看窗口选控件,看控件的名称和属性,再看控件的事件函数。这样就可以按需阅读需要懂的控件,不会盲目。注意:在VS2019中,控件时可以跨程序复制的1、看属性,也可以去FButton.Designer.cs 文件看具体控件设置。2、看事件...原创 2021-11-22 09:47:12 · 508 阅读 · 0 评论 -
Visual Studio (VS)2019 常用快捷键
VS2019 常用快捷键F5运行调试代码Ctrl+K+D 快速对齐代码Ctrl+K+C注释代码(Comments,注释的意思)Ctrl+K+U取消注释F1弹出帮助,比如把光标放在要查的关键字 char 里,然后点击F1就会弹出关于char的文档Ctrl+J快速弹出智能提示#region …#endregion折叠冗余代码Shift+End,Shift+Home光标移动,选择一行代码,笔记本一般没有End和Home键F12查看关键字,对象源代码Ctrl+R+E快速创建类中字段的属性。原创 2021-11-19 15:17:31 · 1350 阅读 · 0 评论 -
Winform(C#) 国内开源美化控件主题库3: HZHControls
Winform(C#) 国内开源美化控件主题库3: HZHControls介绍地址官网: http://www.hzhcontrols.com/gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control博客地址:https://www.cnblogs.com/bfyxc#winform自定义控件,对触屏具有更好的操作支持,项目是基于framework4.0,完全原生控件开发,没有使用任何第三方控件,你可以放心的用在你的项目中。de原创 2021-11-19 15:12:11 · 5167 阅读 · 0 评论 -
Winform(C#) 国内开源美化控件主题库2:花木兰控件库
Winform(C#) 国内开源美化控件主题库2:花木兰控件库地址博客:https://www.cnblogs.com/tlmbem/控件的介绍。gitee:https://gitee.com/tlmbem/hml介绍基于 C#(语言) 4.0 、 VS2019 、 Net Framework 4.0(不包括Net Framework 4.0 Client Profile) 开发的Winform控件库。为了兼容性采用了C#(语言) 4.0版本,低版本VS也可以编译该项目。整个控件控除了动画函数由S原创 2021-11-19 15:06:10 · 17823 阅读 · 2 评论 -
Winform(C#) 国内开源美化控件主题库1 SunnyUI
Winform(C#) 开源美化控件主题库 SunnyUISunnyUI.Net 是基于.Net Framework 4.0+、.Net Core3.1、.Net 5 框架的 C# WinForm 开源控件库、工具类库、扩展类库、多页面开发框架。帮助文档: https://gitee.com/yhuse/SunnyUI/wikis/pagesGitee: https://gitee.com/yhuse/SunnyUIdemo基于.Net Framework4.0,原生控件开发,参考 E原创 2021-11-19 09:27:56 · 7018 阅读 · 0 评论 -
C# 面向对象编程【多态详解】
C# 面向对象编程【多态详解】文章目录C# 面向对象编程【多态详解】1. 里氏转换2. 多态2.1 虚方法3.2 抽象类3.3 接口1. 里氏转换1)、子类可以赋值给父类2)、如果父类中装的是子类对象,那么可以讲这个父类强转为子类对象声明public class Person{ public void PersonSayHello() { Console.WriteLine("我是父类"); }}public class Student : Pers原创 2021-02-03 19:23:58 · 326 阅读 · 0 评论 -
C# 面向对象编程2 继承
C# 面向对象编程2 继承文章目录C# 面向对象编程2 继承1.概念1.1子类继承了父类,那么子类从父类那里继承过来了什么?1.2 子类有没有继承父类的构造函数?1.3 继承的特性2. 代码1.概念我们可能会在一些类中,写一些重复的成员,我们可以将这些重复的成员,单独的封装到一个类中,作为这些类的父类。即作用是去除重复代码。1.1子类继承了父类,那么子类从父类那里继承过来了什么?首先,子类继承了父类的属性和方法,但是子类并没有继承父类的私有字段。1.2 子类有没有继承父类的构造函数?原创 2021-02-03 19:20:30 · 95 阅读 · 0 评论 -
C# 面向对象编程(杂2),类中可能出现的成分,字段,属性,方法,自动属性,权限(五种),其他类,值传递和引用传递,类ToString的问题
C# 面向对象编程(杂2),类中可能出现的成分1. 字段,属性,方法,自动属性class Person1{ //字段 private string _name; //字段对应的属性 public string Name { //当你输出属性的值得时候 会执行get方法 get { return _name; } //当你给属性赋值的时候 首先会执行set方法 set { _name = value原创 2021-02-03 19:18:32 · 162 阅读 · 1 评论 -
C# 目录路径操作和读取文件详解
C# 目录路径操作和读取文件详解文章目录C# 目录路径操作和读取文件详解1、Path 类 操作目录路径2. File 类使用2.1创建,删除,复制,剪切移动文件2.2 读取文件:ReadAllBytes,ReadAllLines,ReadAllText2.3 写文件:WriteAllBytes,WriteAllLines,WriteAllText,AppendAllText3. 文件流读取3.1 FileStream 读写3.2 StreamReader和StreamWriter1、Path 类 操作目原创 2021-02-03 19:16:07 · 8608 阅读 · 1 评论 -
C# 读取utf-8文本文件
C# 读取utf-8文本文件需要的命名空间引用using System.IO;using System.Text;string path = @"D:\Code\1.txt"; // 如果测试要改成自己地址// 声明一个utf-8编码对象UTF8Encoding utf8 = new UTF8Encoding();// 以行为单位读取所有文本文件内容,再赋值给一个字符串数组string[] contents = File.ReadAllLines(path, utf8);//或者 st原创 2021-02-03 19:14:29 · 2543 阅读 · 0 评论 -
C# 集合类型总结,ArrayList,Hastable,List<> 泛型,Dictionary<A, B> 字典集合
C# 集合类型总结文章目录C# 集合类型总结前言1. ArrayList 列表集合1.1 ArrayList集合方法(增删查改)1.2 遍历ArrayList列表2. Hastable 字典集合2.1 Hastable集合方法(增删查改)2.2 遍历Hastable字典(foreach循环)3. List<> 泛型列表集合3.1 List<>和数组互相转换(重要)3.2 List<> 集合方法(增删查改)3.3 遍历List<> 列表集合4. Diction原创 2021-02-03 19:13:11 · 556 阅读 · 0 评论 -
C#对象序列化和反序列化
C#对象序列化和反序列化序列化:就是将对象转换为二进制反序列化:就是将二进制转换为对象作用:传输数据。序列化:1)、将这个类标记为可以被序列化的。在要序列化的类上面标记[Serializable]using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.IO;using System.Runti原创 2021-02-03 19:09:23 · 262 阅读 · 0 评论 -
C# Guid对象,产生一个不会重复的编号
C# Guid对象,产生一个不会重复的编号using System;namespace _17GUID{ class Program { static void Main(string[] args) { //产生一个不会重复的编号 Console.WriteLine(Guid.NewGuid().ToString()); Console.WriteLine(Guid.NewGui原创 2021-02-03 19:08:35 · 721 阅读 · 0 评论 -
C# 中String Builder 和string对象
C# 中String Builder 和string对象//sb可以用来快速连接字符串,StringBuilder sb = new StringBuilder();string s = "字符串 ";for (int i = 0; i < 100000; i++){ //用Append()方法连接字符串 sb.Append(s);}//s最后使用ToString转换回字符串s=sb.ToString();String Builder 和string的初步区别是s原创 2021-02-01 13:47:38 · 289 阅读 · 0 评论 -
C# 程序计时
C# 程序计时string str = null;//创建了一个计时器,用来记录程序运行的时间Stopwatch sw = new Stopwatch();sw.Start();//开始计时for (int i = 0; i < 100000; i++){ str += i;}sw.Stop();//结束计时//打印时间Console.WriteLine(sw.Elapsed);//sw.Elapsed并不是字符串类型,可以通过ToString()转换Console.Rea原创 2021-02-01 13:46:27 · 841 阅读 · 0 评论 -
C# 面向对象编程 (杂1)引用同解决方案下的其他项目,值类型和引用类型,字符串常用方法
C# 面向对象编程 2 (杂)引用同解决方案下的其他项目,值类型和引用类型,字符串常用方法文章目录C# 面向对象编程 2 (杂)引用同解决方案下的其他项目,值类型和引用类型,字符串常用方法1、命名空间2、引用同解决方案下的其他项目3、值类型和引用类型4. 字符串1、命名空间可以认为类是属于命名空间的。如果在当前项目中没有这个类的命名空间,需要我们手动的导入这个类所在的命名空间。1)、用鼠标去点2)、alt+shift+F103)、记住命名空间,手动的去引用using System;usi原创 2021-01-31 12:02:44 · 989 阅读 · 0 评论 -
C# 面向对象编程 1 面向对象类,静态和非静态的区别,构造函数,new关键字 ,析构函数
C# 面向对象编程 11、面向过程-----> 面向对象面向过程:面向的是完成这件事儿的过程,强调的是完成这件事儿的动作。面向对象:意在写出一个通用的代码,屏蔽差异。我们在代码中描述一个对象,通过描述这个对象的属性和方法电风扇:属性、方法外形:三个扇叶颜色:白色品牌:XX方法:转动,扇风2、类语法:[public] class 类名{ 字段; 属性; 方法; 构造函数; 析构函数;}写好了一个类之后,我们需要创建这个类的对象,那么,我们管创建这个类的对象原创 2021-01-31 11:41:25 · 206 阅读 · 1 评论 -
C#编程入门项目:飞行棋大战,张三大战李四。。
C#编程入门项目:飞行棋大战,张三大战李四。。游戏画面地图中的A是张三,B是李四。结果游戏代码using System;namespace 飞行棋online{ class Program { // 存储地图数组 public static int[] Maps =new int[100]; //玩家A和玩家B坐标 public static int[] PlayerPos = new int[2];原创 2021-01-29 15:37:15 · 339 阅读 · 0 评论 -
C# 编程入门第七课方法调用参数问题,方法标准,传递数组,返回数组,方法高级参数(out关键字参数,ref参数,params可变参数),方法重载,方法的递归,一些常用方法
C# 编程入门第七课1. 方法调用参数问题我们在Main()函数中,调用Test()函数,我们管Main()函数称之为调用者,管Test()函数称之为被调用者。如果被调用者想要得到调用者的值:1)、传递参数。2)、使用静态字段来模拟全局变量。如果调用者想要得到被调用者的值:1)、返回值Test() 函数定义的变量是局部变量静态字段相当于C中的全局变量。//静态字段 一般定义为类的字段public static int _number = 10;2. 方法标准方法的功能一定要原创 2021-01-28 12:20:31 · 452 阅读 · 0 评论 -
c# 编程入门第六课常量,枚举,枚举转换成其他类型变量(枚举和int,转 string字符串转枚举),结构体,数组,冒泡排序,实际使用排序,方法(函数)
c# 编程入门第六课1. 常量常量,不能被重新赋值const int number = 50;2. 枚举//声明,namespace下public enum Gender { 男, 女 }// 定义使用,program 的函数下Gender gender = Gender.男;用处,为了应对不同人对同一事物不同说法,统一说法。3. 枚举转换成其他类型变量3.1 枚举和intnamespace _04枚举和int以及stri原创 2021-01-27 12:48:26 · 194 阅读 · 0 评论 -
C# 编程入门第五课,VS2019程序调试,for循环,水仙花数,Console.Write,又一种类型变换,三元表达式,产生随机数
C# 编程入门第5课1. VS2019程序调试什么时候使用程序调试写完一段程序后,想看一下这段程序的执行过程。当你写完程序后,发现程序没有按预想的执行。vs2019的调试方式f11,逐句调试(单步调试)f10,逐过程调试(这个后面函数才用)断点调试 可以通过在代码所在行右键设置断点标黄色的代码是即将要运行的代码,不是运行了的代码。断点调试断点调试要结合逐句调试(单步调试)使用。首先已经知道断点前的代码没有错误。而断点之后的代码可能有错。执行程序,程序会在断点处停下来,原创 2021-01-26 10:25:05 · 817 阅读 · 0 评论 -
C#编程入门第四课,异常,switch-case选择结构,循环结构 while,break作用,do-while循环
C#编程入门第四课1.异常那行代码有可能出现异常就踹(try)他一脚try{//可能出现异常的代码}catch{// 出现异常后要执行的代码}多层异常捕获是捕获最近(try)中的异常变量作用域:try中定义的变量是try的局部变量。变量要遵循 声明,赋值,使用顺序2. switch- case选择结构switch (值或表达式){ case "值": xxx;break; case "值": xxx; break; default: xxx原创 2021-01-25 11:48:37 · 279 阅读 · 0 评论 -
C# 编程入门第三课 类型转换,++,关系运算符,bool类型(布尔类型),逻辑运算符,判断闰年,结构
C# 编程入门第三课1. 类型转换1)如果两个类型兼容,可以使用自动类型转换或者强制类型转换。int n1 = 3;// 自动double d1 = n1;// 强制int n2 = (int)d1;2)如果两个变量类型不兼容,例如string转int。就使用Convert的转换工厂转换条件:要是两个类型的模样要一致。比如"abc"就不能就不能转换成数值类型。"123"可以转换成数值类型。string s = "123";double number = Convert.ToDoubl原创 2021-01-24 10:41:06 · 246 阅读 · 0 评论 -
C# 编程入门第二课 注释变量,VS2019快捷键,String和string,命名规则,赋值运算符,+号作用占位符,转义字符算术运算符,类型转换
C# 编程入门第二课1. 注释单行注释 \\多行注释 \*要注释的内容 *\文档注释 \\\,多用来解释类或方法2 变量用来在计算机当中存储数据使用语法变量类型 变量名;变量名=值;或变量类型 变量名=值;数据类型1)整数类型:int小数类型:double金钱类型:decimal ,精度高,银行系统常见使用4)字符串类型:string ,可以为空,""5)字符类型:char ,不可以为空,最多最少都要有一个字符。3.VS2019快捷键Ctr原创 2021-01-23 10:35:35 · 969 阅读 · 0 评论