![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#学习笔记
文章平均质量分 70
已被格式化的叔叔
移动端、PC端开发与图形图像处理技术研究
展开
-
C#使用Newtonsoft.Json进行json数据存储和转换
Newtonsoft.Json的地址:官网:http://json.codeplex.com/源码地址:https://github.com/JamesNK/Newtonsoft.JsonNewtonsoft.Json.dll下载:https://github.com/JamesNK/Newtonsoft.Json/releases使用语言:C#环境:.net Framewor...转载 2018-08-22 20:20:00 · 2928 阅读 · 0 评论 -
C#Winform实现无边框窗体鼠标拖动
在有时候我们为了实现软件的美观,我们需要把窗体的边框隐藏,但是问题也会随之而来,在属性中设置了FormBorderStyle应该为None,边框便可以隐藏,但是我们在使用软件时却无法拖动窗体,那么我们该如何解决这个问题呢。其实代码很简单,只要override WndProc方法便可。在无边框窗体的代码中加入下面的protected override void WndProc(ref Messag原创 2018-02-07 15:53:00 · 932 阅读 · 0 评论 -
关于窗体(Windows Form)的CreateParams(属性或参数)的一点总结
我们如果使用过MFC的人都知道,其实CreateParams是封装创建控件时需要的信息,也就是它是CreateWindowEx的参数,重写它就可以设置控件创建时的样式.由此很多人在开发时不满足当前窗体的样式时,往往就想到要重写这个了,有过MFC或MFC项目经验的同学都知道,创建一个窗体里有一个受保护(protected)的属性(CreateParams,这个属性一般被封装保护的),由此当不满足Mi转载 2018-02-07 14:46:28 · 9587 阅读 · 0 评论 -
基于C#的socket编程的TCP异步实现
文章参考:(1)https://www.cnblogs.com/sunev/archive/2012/08/07/2625688.html (2)http://freshflower.iteye.com/blog/2285286 (3)http://freshflower.iteye.com/blog/2285272一、摘转载 2018-01-19 15:51:35 · 266 阅读 · 0 评论 -
解决textBox实时显示问题
如果在程序里写这么一段,想实时显示1到10000的数字变化过程:for (int i = 0; i 10000; i++){ textBox1.Text = i.ToString();}1234可是程序运行后发现,最后只显示最后的一个数字9999,如果数据再大一点,屏幕就会长时间没反应,出现所谓的假死现象。 那么如何能够让textbox实时显示数字,带来较好的用户体验呢转载 2018-01-10 17:00:49 · 1753 阅读 · 0 评论 -
C#中字符串复制
参考链接:http://www.cnblogs.com/ncw/archive/2004/12/24/81387.html目前找到了三种方法来填充字符串1:构造替换 就是先利用String的构造函数来得到由某个字符X组成并重复N次的字符串,然后用String成员函数Replace()来将这个X替换成目标字符串2:累加法 写个了函数来得到重复串,在函数中,建了一个循环,在里面转载 2018-01-26 19:25:17 · 2438 阅读 · 0 评论 -
C#中创建可执行文件的快捷方式并设置开机自启
前言 本文所实现的方法仅供参考,所讲述的方法已在win7系统上面测试通过。 需引用COM组件:右键“引用”,“添加引用”,选择“COM组件”,找到“Windows Script Host Object Model”,然后确定。可参考文章:https://www.cnblogs.com/yeaicc/archive/2012/05/12/operateshortcut.html原创 2018-01-17 11:07:34 · 408 阅读 · 0 评论 -
对话框根据控件隐藏或出现而伸缩
参考链接:http://blogs.msdn.com/b/cumgranosalis/archive/2006/05/18/collapisbleforms.aspxYou know what a collapsible window is – it’s usually used to show advanced features or to show extra information转载 2018-02-01 08:58:44 · 355 阅读 · 0 评论 -
C#开机自动启动策略
c参考链接:(1)http://www.cnblogs.com/lovecsharp094/p/5984079.html; (2)http://blog.csdn.net/sundacheng1989/article/details/31800753 (3)http://blog.csdn.net/sundacheng198转载 2018-01-17 10:25:49 · 660 阅读 · 0 评论 -
C# Lock 解读
转载链接:http://blog.csdn.net/vincent_zhanglb/article/details/7170447最近在研究.NET分布式缓存代码,正好涉及Lock,看了网上的文章,总结了一些Lock相关的知识,供大家一起学习参考。 一、Lock定义 lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。它可以把一段代码定义为互斥段(c转载 2018-01-24 15:00:42 · 3777 阅读 · 0 评论 -
详解C#中的反射
参考https://www.cnblogs.com/Stephenchao/p/4481995.html http://www.runoob.com/csharp/csharp-reflection.html反射指程序可以访问、检测和修改它本身状态或行为的一种能力。程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以转载 2018-01-06 16:31:33 · 358 阅读 · 0 评论 -
解决Winform应用程序中窗体背景闪烁的问题
参考链接:https://my.oschina.net/Tsybius2014/blog/659742我的操作系统是Win7,使用的VS版本是VS2012,文中的代码都是C#代码。这几天遇到一个问题,即我用一个嵌入图片的Panel作为Winform应用程序的背景,如下图所示:这是一个Winform窗体,里面放置了一个Panel,Dock属性为Fill,BackgroundIma转载 2018-01-15 21:49:28 · 965 阅读 · 0 评论 -
C#中WinForm程序退出方法技巧总结
C#中WinForm程序退出方法技巧总结 一、关闭窗体 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.ExitThread(); System.Environment.Exit(0); 等他们各自的方法不一样,下面我们就来详细介绍一下。 1.this.Close(); 只是关闭转载 2018-01-15 21:03:48 · 1099 阅读 · 0 评论 -
DevComponents.DotNetBar2.dll 使用教程
从网上下载的DevComponents.DotNetBar2.dll文件,按照老方法保存在bin/debug文件夹下1.单击项目,右键快捷菜单中选择“添加引用”,单击“浏览”选项卡,选中DevComponents.DotNetBar2.DLL文件。成功后在引用下出现。添加引用:using DevComponents.DotNetBar;2.由于DotNetBar2内容极为丰富,因此转载 2017-12-29 09:55:38 · 11725 阅读 · 0 评论 -
C#路径中获取文件全路径、目录、扩展名、文件名称
常用函数 需要引用System.IO 直接可以调用Path的静态方法class Program 2 { 3 static void Main(string[] args) 4 { 5 6 //获取当前运行程序的目录 7 string fileDir = Environment.Curr转载 2018-01-13 09:45:21 · 1054 阅读 · 0 评论 -
C#中关于TabControl设置选项卡的大小问题
今天在使用Winform下的TabControl控件时,发现选项卡大小的调整不仅仅是设置宽度和高度那么简单,下面对TabControl选项卡大小的设置进行总结(以显示在顶部的选项卡为例): 设置选项卡大小的第一步就是设置TabControl的SizeMode属性,SizeMode属性返回枚举TabSizeMode,TabSizeMode有三个值,分别是Normal,转载 2018-02-07 18:57:34 · 18137 阅读 · 2 评论 -
C#中关于WinForm中重绘TabControl选项卡标题的问题
这里说的是每个TabPage的头部,也就是标题,不是工作区域。 最开始用到TabControl的时候,我的每个选项卡是写死的,而后由于项目需求又动态添加了TabControl并生成各个选项卡,而两次我都要重绘其标题,因此在这里把我当时两种情形下重绘的方法通过一个例子一起分享出来。 首先先在窗体拖个Tabcontrol控件,然后更改了其Alignment属性为Lef转载 2018-02-07 19:23:49 · 7211 阅读 · 2 评论 -
C#对象初始化器(object initializer)和集合初始化器(Collection Initializer)
参考链接:http://www.cnblogs.com/artech/archive/2007/09/30/912166.html一、 为什么要引入Object Initializer 和 Collection Initializer在创建一个具有较多属性的对象时,我们一定经常遇到这样的状况:为了尽量地使我们的Code更加简洁,我们试图调用一个适合的Constructo...转载 2018-08-22 11:14:40 · 1596 阅读 · 0 评论 -
Winform 获取项目下文件夹路径的误区
在项目中新建了文件夹“Image”, winform 怎么获得这个文件夹的路径? 实际运行的程序是没有所谓项目的概念的(不可能把源代码也复制过去吧?!),也就是说,你的应用程序运行时的目录下一开始是不会自动地产生Image这个文件夹的(除非你在项目里将这个文件夹中的文件设置为“复制到输出目录”。) 所以要理解项目和程序的区别。 那么首先要做的,第一件事就...原创 2018-07-31 20:09:03 · 1678 阅读 · 0 评论 -
C#中调用API函数RegisterHotKey注册多个系统热键
要设置快捷键必须使用user32.dll下面的两个方法。BOOL RegisterHotKey( //注册系统热键的API函数 HWND hWnd, int id, UINT fsModifiers, UINT vk);BOOL UnregisterHotKey( //删除系统热键的API函数 HWND hWnd, int id);在C#中引用命名空间S...转载 2018-07-25 20:53:36 · 951 阅读 · 0 评论 -
C#中WinAPI
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Drawing;using System.Runtime.InteropServices; namespace APIHelper{ /// <summary> /...转载 2018-07-25 16:23:46 · 1200 阅读 · 0 评论 -
c# winform InvokeRequired 解决跨线程访问控件
在设计中为了让界面与逻辑分离,我的做法是使用事件,界面只要响应事件来处理界面的显示就行了。而事件在逻辑处理中可能由不同的线程引发,这些事件的响应方法在修改界面中的控件内容时便会引发一个异常。这时就用到了Control.InvokeRequired 属性 与Invoke方法。MSDN中说:获取一个值,该值指示调用方在对控件进行方法调用时是否必须调用 Invoke 方法,因为调用方位于创建控件所在的线...转载 2018-07-09 20:28:59 · 4045 阅读 · 0 评论 -
C#实现winform自动关闭MessageBox对话框的方法
本文实例讲述了C#实现winform自动关闭MessageBox对话框的方法。分享给大家供大家参考。具体实现方法如下:using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; usin...转载 2018-06-08 20:52:32 · 7311 阅读 · 1 评论 -
Winform窗口去边框实现可以移动
可参考链接:http://blog.csdn.net/qq_15126969/article/details/40024769Windows自带的边框很影响我们个性化定制窗口UI的美观程序。 首选选择窗口,属性里的FormBorderStyle设置为None。 边框去掉之后 会发现窗口无法最大最小化和移动。 1 在标题栏处新建三个panel,分别为标题栏,最大最小化按钮和关闭按钮将后面几个pane...转载 2018-03-21 16:38:16 · 1634 阅读 · 0 评论 -
C#关于Windows窗体最大化所引起的闪烁问题的处理经验
1:窗体最大化前,窗体最好没有任何控件在显示,并且控件不要有背景图,等窗体最大化后才显示控件以及加载背景图。2:最大化源码(从网上搜回来的:)using System; using System.Windows.Forms; using System.Drawing; using System.Runtime.InteropServices; namespace XXXX.D...转载 2018-03-02 15:02:02 · 1896 阅读 · 0 评论 -
C#中base关键字-调用父类成员
参考链接:http://blog.csdn.net/david_520042/article/details/6027190C#中base关键字在继承中起到非常重要的作用。它与this关键字相比,this关键字代表当前实例。base关键字代表父类,使用base关键字可以调用父类的构造函数、属性和方法。使用base关键字调用父类构造函数的语法如下:子类构造函数:base(参数列表)使用base关键字...转载 2018-03-09 17:24:16 · 4735 阅读 · 0 评论 -
C#检查网络是否连接的方法
C# 检查网络是否连接 在网上查到有几种方式检查网络是否连接,测试了一下,第一种方式受到ping时延的影响,在某些不支持ping的地址或者网段甚至不可用,因此建议采用方法2 1. 调用 cmd 中的 ping 命令,分析输出信息来确定网络是否连接 // 使用 ping 命令来判断 ,txtIP 文本框输入一个有效的远程主机 ip System.Diagnostics.Process proIP...转载 2018-02-28 20:29:57 · 4601 阅读 · 0 评论 -
C# 示例:检测网络连接
我们的应用程序的某些功能,可能需要一个互联网连接的运行时间测试。 一旦检测到互联网连接,可能会暂时被禁用的功能需要访问Internet和/或用户可以通过警报消息通知。 否则,应用程序可能会导致在操作过程中的错误,否则可能会导致恼人的问题.引用这里: https://www.codeproject.com/Tips/147662/Testing-Internet-Connectivit...转载 2018-02-28 20:19:51 · 514 阅读 · 0 评论 -
C#访问SQLite数据库,实现数据的增删改查功能
说明:本文的代码是基于Winform中举例的,经过实测可用。1.封装Sqlite操作类:sqLiteHelperusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SQLite;namespace TestSqlite.sq{ ...原创 2018-03-14 20:12:57 · 24027 阅读 · 6 评论 -
Winform 解决TabControl 页里面多余边距问题
1.直接新建一个类,继承TabControl,然后 override DisplayRectangle 方法: /// <summary> /// 解决系统TabControl多余边距问题 /// </summary> public class FullTabControl : TabControl { public overrid...转载 2018-03-08 11:36:04 · 5450 阅读 · 2 评论 -
解决Winform背景图片闪烁的问题
Winform窗体,里面放置了一个Panel,Dock属性为Fill,BackgroundImage使用一个本地图片文件,BackgroundImageLayout使用了Stretch。嵌入图片的Panel作为Winform应用程序的背景,这个界面现在有两个问题:1、在窗体第一次被打开时,背景图片会出现明显的闪烁2、在拉动窗体的边界以调整窗体大小时,背景图片非出现明显的闪烁 解决方...转载 2018-03-07 20:00:42 · 6862 阅读 · 4 评论 -
C#中USB转串口的拔插捕获(一)
Form:采用windows的消息机制来捕获插入的usb状态,然后,获取对应的串口名称。代码如下: // usb消息定义 public const int WM_DEVICE_CHANGE = 0x219; public const int DBT_DEVICEARRIVAL = 0x8000; public const int转载 2017-12-28 16:10:18 · 6333 阅读 · 0 评论 -
在.NET中探测U盘的插入/拔出
有同学向我问这个问题,于是就Google了一下找到答案,不过是C下的,我将其改编成了C#的。 当设备被插入/拔出的时候,WINDOWS会向每个窗体发送WM_DEVICECHANGE 消息,当消息的wParam 值等于 DBT_DEVICEARRIVAL 时,表示Media设备被插入并且已经可用;如果wParam值等于DBT_DEVICEREMOVECOMPLETE,表示Media设备已经转载 2017-12-28 16:25:51 · 387 阅读 · 0 评论 -
C#中事件方法的使用
事件是C#中另一高级概念,使用方法和委托相关。奥运会参加百米的田径运动员听到枪声,比赛立即进行。其中枪声是事件,而运动员比赛就是这个事件发生后的动作。不参加该项比赛的人对枪声没有反应。从程序员的角度分析,当裁判员枪声响起,发生了一个事件,裁判员通知该事件发生,参加比赛的运动员仔细听枪声是否发生。运动员是该事件的订阅者,没有参赛的人不会注意,即没有订阅该事件。C#中使用事件需要的步骤转载 2017-09-29 14:31:27 · 507 阅读 · 0 评论 -
C# ListView用法详解
一、ListView类 1、常用的基本属性: (1)FullRowSelect:设置是否行选择模式。(默认为false) 提示:只有在Details视图该属性才有意义。 (2) GridLines:设置行和列之间是否显示网格线。(默认为false)提示:只有在Details视图该属性才有意义。 (3)All转载 2017-09-28 14:52:30 · 273 阅读 · 0 评论 -
c#WINFORM中如何为动态生成的按钮加背景图片
本文转载于 作者苏飞,感谢作者!!!c# WINFORM中 如何为动态生成的按钮加背景图片下面我提供几种方法第一种,使用Properties.Resources类,这种方法需要你事先将图片添加到项目中来才行,添加方法如下代码使用方法如下 button.BackgroundImage = 命名空间名.Properties.Resources.图片名称;转载 2017-09-20 11:46:38 · 2348 阅读 · 1 评论 -
C#的Winform多语言实现(resx文件)
使用resx文件实现Winform多语言切换,本博文提供的代码可以实现简体中文、繁体中文、英文的切换。如果需要增加其它语言的切换,只需要编写相应的语言的resx文件即可。 并且,当修改了语言之后,会更新所有打开的窗口。先贴几张图展示一下效果。程序下载连接:http://download.csdn.net/detail/softimite_zifeng/97315751. 简转载 2017-09-20 11:33:06 · 2353 阅读 · 1 评论 -
用C#如何遍历一个窗体中的某一种控件
如果我要遍历所有的Label控件.我们知道一个窗体中的所有控件都是Form.Controls中的成员,想要得到窗体中的所以成员,可以用foreach来遍历Controls属性中的对象。注意,Controls属性中包含的对象都是以Control基类形式存在的,这就是说我们只能用foreach(Control temp in this.Controls)来遍历。对于任何一个由Control派生来的转载 2017-09-19 20:27:18 · 2067 阅读 · 0 评论 -
C# BackgroundWorker的使用
前言 当应用程序执耗时任务时,长时间的运行可能会导致程序界面处于停止响应状态,造成较差的用户体验,如果需要程序在执行任务的同时,又能够响应用户操作,则使用BackgroundWorker组件是一个较好的解决办法。同时BackgroundWorker 组件用来执行诸如数据库事务、文件下载等耗时的异步操作,可用于启动后台线程。1)DoWork:是BackgroupWo转载 2017-09-27 11:33:37 · 1253 阅读 · 0 评论 -
C#中对ini文件简单操作举例
在很多的程序中,我们都会看到有以.ini为后缀名的文件,这个文件可以很方便的对程序配置的一些信息进行设置和读取,比如说我们在做一个程序后台登陆的时候,需要自动登录或者是远程配置数据库连接,及保存密码设置等等(在Winform程序中),若在ASP.NET程序中有另外的解决方法,此C#操作INI文件的文章仅在winform程序中进行写入和读取操作。 下面简单举例:原创 2017-09-26 20:35:56 · 916 阅读 · 0 评论