C# winform 开发总结 -- 【持续更新】

时间:2023-01-02 22:57:50


此文章将记录我在C# Winform 开发过程中遇到的问题及相关知识技术点 ,方便自己以后查阅..... 

C# winform 开发总结 -- 【持续更新】

  • ​​C# 在多线程中如何调用Winform​​问题的产生:   我的WinForm程序中有一个用于更新主窗口的工作线程(worker thread),但文档中却提示我不能在多线程中调用这个form(为什么?),而事实上我在调用时程序常常会崩掉。... 2017-02-14 09:25
  • ​​C# TableLayoutPanel 添加、删除一行数据案例​​using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin... 2017-02-16 10:27
  • ​​C# Invoke 和 BeginInvoke 的的区别 2017-02-13 13:53
  • ​​C# Xml文件的读写总结​​1  先看需要创建的xml文件格式, 代码: /// /// 创建默认的模板文件 /// /// 64 或者128 ... 2016-12-28 18:13
  • ​​C# VS生成事件使用技巧​​1 条件编译符号 -> 根据条件编译项目         有时候需要项目在不同的环境下使用,这个时候就需要用到条件编译,     举例说明: 该项目在可以用在mtp128设备或者mtp64设备上,那么... 2017-01-11 15:24
  • ​​C# INotifyPropertyChanged用法,监听属性值发生改变​​有时候,我们需要监听属性中,当属性值发生改变时,需要被通知,没有改变时不需要通知,这个时候可以用INotifyPropertyChanged来做,也可以自定义委托事件 ,也可以实现,方法多多,在这里只... 2017-01-09 17:25
  • ​​C# 线程池的使用​​using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T... 2016-12-05 15:32
  • ​​C# Dictionary根据Key排序​​using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Con... 2016-12-08 11:20
  • ​​C# 计算变量大小​​using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin... 2016-11-30 17:42
  • ​​C# 打印内存地址​​using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using Syste... 2016-11-30 17:57
  • ​​C# 深入理解堆栈、堆在内存中的实现​​尽管在.NET framework下我们并不需要担心内存管理和垃圾回收(GarbageCollection),但是我们还是应该了解它们,以优化我们的应用程序。同时,还需要具备一些基础的内存管理工作机制... 2016-12-01 14:12
  • ​​C# 冒泡排序​​public static void MaoPaoSort() { int ret = 0; int[] intArray = { 10,0,20,5... 2016-11-22 10:13
  • ​​C# 斐波那契数列​​ /// /// 斐波那契数列,递归算法 /// /// 第num位数的值 /// public s... 2016-11-22 10:25
  • ​​C# 索引器的实现过程​​类的每一个属性都必须拥有一个唯一的名称,而类里定义的每一个索引器都必须拥有唯一的签名 或者参数列表,这样就可以实现索引器重载。属性可以是static,而索引器必须是实例成员。为索 引器定义的访问函数可... 2016-11-22 14:43
  • ​​C# 实现Udp广播​​这是一个c#实现udp广播案例,测试用于与单片机通讯,实现与单片机消息的发送与接收。 2016-11-24 09:33
  • ​​C# 反射机制详解​​反射的定义:审查元数据并收集关於它的类型信息的能力,元数据(编辑后的基本数据单元)就是一大堆表,编译器会创建一个类定义表,一个字段定义表,一个方法定义表等,System.Reflection命名空间包... 2016-11-24 11:29
  • ​​C# 控制控件的显示顺序​​在C#中,可以让控件在最前端显示,也可以在最后端显示,他们的显示顺序是可以控制的,这就涉及到2个函数方法             BringToFront();//将控件放置所有控件最前端      ... 2016-10-24 11:32
  • ​​C# Winform制作虚拟键盘,支持中文​​最近在做一个虚拟键盘功能,代替鼠标键盘操作,效果如下:        实现思路:          1  构建中文-拼音 数据库,我用的是SQLite数据库,如                    ... 2016-11-04 18:12
  • ​​C# ****不可访问,因为它受保护级别限制​​我新项目里使用dll,引用之后编译失败,提示     解决方法:                  确保该项目和dll的 .NET Framwork版本一致 2016-11-10 10:42
  • ​​C# *未能找到类型“ * ”,请确保已引用包含此类型的程序集。如果此类型为开发项目的一部分,请确保已使用针对当前平台或任意 CPU 的设置成功生成该项目​​未能找到类型“ * ”。请确保已引用包含此类型的程序集。如果此类型为开发项目的一部分,请确保已使用针对当前平台或任意 CPU 的设置成功生成该项目 复制出现错误的窗体文件,再删掉窗体文件,最后将复制... 2016-11-17 17:04


  • ​​C# 遍历界面指定控件​​查找界面上所有的TextBox控件,并给他赋初始值为 "aaa"  public void SetText(Control cc) { foreach ... 2016-11-18 14:38
  • ​​C# 值传递和值引用​​1 传值和传引用,传地址的区别 传值:是把实参的值赋值给形参,对形参的修改不会影响实参的值。 传地址:是传值的一种特殊方式,只是他传递的是地址,不是普通的数值,传地址以后,实参和形参都指向同一个... 2016-11-21 15:27
  • ​​C# 实现一个注册机功能​​在完成一个程序,有的需要通过注册来对软件进行认证使用,这个时候就需要一个注册机,提供注册码,来对软件进行认证,有的时候需要限制软件的使用期限,有的需要限制在一台电脑上运行等等。       其实要实现... 2016-10-17 11:53
  • ​​C# 控件随窗口大小变化自动缩放​​1 要想控件随窗口大小变化自动缩放,就要重写Resize函数就可以实现了。 protected override void OnResizeEnd(EventArgs e) ... 2015-01-10 12:53
  • ​​C# 移动不规则窗体​​说明: 解决自定义不规则窗体后,不能拖动问题. 先看效果图: 2015-01-11 20:59
  • ​​C# 二种方法控制系统音量/麦克风大小​​场景:在走播放设备的时候需要控制音量的大小,下面几种方法将满足你的要求 方法一: 改变系统         [DllImport("user32.dll")]         static exter... 2015-01-24 16:19
  • ​​窗体运行前,检查是否互斥​​using System; using System.Drawing; using System.Collections; using System.ComponentModel; using Sys... 2015-11-24 23:01
  • ​​C# Winform使用WPF控件​​如果你的winform项目要用到wpf控件,那么winform项目必须引用下面的域名空间       在项目->引用 -> 添加引用-> .NET里添加 1 PresentationCore 2... 2016-07-30 15:42
  • ​​浅析C#深拷贝与浅拷贝​​1.深拷贝与浅拷贝   拷贝即是通常所说的复制(Copy)或克隆(Clone),对象的拷贝也就是从现有对象复制一个“一模一样”的新对象出来。虽然都是复制对象,但是不同的 复制方法,复制出来的新对象却... 2016-09-24 11:58
  • ​​C# 将应用程序显示在扩展桌面​​有时候需要这个功能,就是通过代码将程序显示在扩展桌面,并且实现来回切换,我看了好多blog,又是C++,又是window api,在这里无需任何api就可以实现, 超级简单 ,直接上代码 2016-09-05 17:21
  • ​​C# 根据一个数区分小时,分钟,秒​​根据一个数区分小时,分钟,秒 /// /// 根据一个数,区分小时,分钟,秒 /// /// public str... 2016-08-22 09:47
  • ​​C# 值不能为null,参数名:name 【已经解决】​​在c#开发过程中可能会出现这样的问题,如题,如题,而编译器又不告诉你哪里错了 还有编译没有,就是报这个莫名其妙的错误,像本文中的错误是有的值为null,那么怎样 去找到这个问题原因呢,且看解决方法。 ... 2016-07-27 16:27
  • ​​C# 类型"*.Properties.Resources" 没有名为"*"的属性,已经解决​​1 有的时候用设计器给控件设置图片后,界面就崩溃了,如下图,提示 :类型"*.Properties.Resources" 没有名为"*"的属性,也就是说资源不存在 2 解决办法:     删除项目... 2016-07-21 15:05
  • ​​C# 获取系统图标​​1 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data... 2016-07-15 14:35
  • ​​C# Winform根据屏幕大小自动缩放​​1  Form基类 using System; using System.Collections.Generic; using System.ComponentModel; using System.... 2016-07-15 13:49
  • ​​C# 使用DES加密,解密字符串​​1 DES类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ... 2016-07-14 09:40
  • ​​C# 制作 二维码/条形码​​C# 中,使用zxing.dll和ThoughtWorks.QRCode.dll 制作 二维码和条形码. 方法一: 使用zxing.dll制作二维码和条形码,下载zxing.dll 文件后,项目 -... 2015-09-19 13:46
  • ​​C# 解决winform界面闪屏问题及弊端​​1 添加以下代码: // 防止闪屏 protected override CreateParams CreateParams { ... 2016-07-11 11:19
  • ​​C# 中DateTime的各种使用​​获得当前系统时间: DateTime dt = DateTime.Now; Environment.TickCount可以得到“系统启动到现在”的毫秒值 DateTime now = DateTime... 2016-07-11 10:21
  • ​​C# 判断设备是否在线​​1  ping类 using System; using System.Collections.Generic; using System.Text; using System.Net.Networ... 2016-07-05 15:30


  • ​​C# 调用C++ DLL 总结​​1 方法一: C#项目中,“引用”右键,添加引用,在浏览里面添加C++ DLL库,如果添加成功,你是幸运的,但是成功概率为98%,或者根本不可能。 如果失败会提示:未能添加对“E:\HuangTa... 2014-12-22 22:58
  • ​​C# 谈泛型集合​​说泛型之前先简单了解下C#中的数组和ArrayList数组缺点是申明限制了长度,不能自动增加长度,ArrayList虽然能自动增加长度,但是由于ArrayList可以允许元素类型不同,导致类型安全性不... 2014-12-24 21:32
  • ​​C# listView增删操作​​场景: C#中使用listView控件,实现动态添加,选中删除等操作 2014-12-25 16:31
  • ​​C# 与 C++ 数据类型对照表​​/C++中的DLL函数原型为 //extern "C" __declspec(dllexport) bool 方法名一(const char* 变量名1, unsigned char*... 2014-12-28 17:37
  • ​​C# 以特定字符分割字符串--IP地址分割​​分割 IP 地址: string ipAddress = “192.168.2.168”; string[] sArray = ipAddress.Split(new char[] { '.' })... 2015-01-08 12:38
  • ​​C# textBox用法总结 [持续更新]​​textBox用法总结: 1 去掉边框 【注:this = textBox】 this.BorderStyle = System.Windows.Forms.BorderStyle.None; 2 设... 2015-01-08 12:57
  • ​​C# TextBox带提示说明的搜索输入框​​场景: 对于输入框,如果用户不知道要输入什么,这个时候有个提示是最好了, 下面是带提示说明的搜搜输入框,如图 2015-01-27 13:17
  • ​​C# 界面优化​​1 下载皮肤包,IrisSkin2.dll , IrisSkin4.dll 及 *.ssk皮肤文件 2015-01-09 21:29
  • ​​C# 控件属性一览表​​1、窗体  1、常用属性  (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。  (2) WindowState属性:  用来获取或设置窗体的窗口状态。 取值有三... 2015-01-09 21:09
  • ​​C# NotifyIcon添加系统托盘​​要求: 1 程序启动时,无系统托盘 2 程序最小化时,显示托盘,且程序隐藏 3 双击系统托盘,显示主界面,托盘隐藏 4 系统托盘右键,点击显示和退出按钮,主程序显示和退出 代码; 2015-01-09 20:54
  • ​​C# XmlTextWriter和XmlTextReader 读写XML文件​​using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.X... 2015-01-08 23:04
  • ​​C# GDI+ 绘图​​1 坐标系统 (1) 坐标原点:在窗体或控件的左上角,坐标为(0,0) (2) 正方向:X轴正方向为水平向右,Y轴正方向为竖直向下 (3) 单位:在设置时,一般以像素为单位,像素(Pixel)是由图像... 2015-01-11 17:50
  • ​​C# 图像操作​​1 Picturebox控件 主要用于显示、保存图形图像信息。其属性及方法如下 2015-01-11 18:58
  • ​​C# 创建不规则窗体​​要求: 1 使得窗体或按钮的形状跟图片一致。 效果图: 2015-01-11 21:27
  • ​​C# 获取MP3/WMA音频数据信息​​场景: 在在做音乐播放器时,要获取音乐文件的信息,下面的方法就是获取音乐文件的信息 /// /// 歌曲信息 /// public s... 2015-01-24 16:23
  • ​​C# 动态数组​​C#动态数组ArrayList用法 System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。 一.优点 1。支持自动改变大小的功能 ... 2015-09-27 16:35
  • ​​C# 日志​​using System; using System.Collections.Generic; using System.Text; using System.IO; namespace Test ... 2015-10-08 21:54
  • ​​ASP.NET中使用CSS样式​​1  使用link标签去调用样式,即调用css文件中的样式,可以直接将CSS文件拖拽到html页的head下面      此方法先加载css,后加载html 网页标题 2 使... 2015-09-19 15:33
  • ​​C# 编写自定义 IP 输入框控件​​场景: 做一些网络设备应用时,需要有ip地址的输入,这就需要ip地址输入框控件 思路: 1 重写TextBox 为IpInputBox。 2 重写TextBox为Sub... 2015-01-08 22:39
  • ​​Windows Api 实现窗体拖动​​[System.Runtime.InteropServices.DllImport("user32.dll")] public static extern bool ReleaseCa... 2015-11-24 00:20
  • ​​c# 使用Button和Panel 设计伸缩面板控件​​说明:  此文使用的是Button 和Panel设计的伸缩面板 Button: 表示伸缩栏,可用别的控件表示,这里使用用于触发点击事件 Panel:  表示伸缩栏的容器,只要是容器控件就行,这里装控件... 2015-12-30 18:23
  • ​​VLC 实现的简单播放器​​1 调用VLC的dll,简单的实现一下功能      1 视频播放      2 视频暂停      3 视频关闭      4 视频快进      5 视频截图 2 效果图 3 下载地址  ... 2015-11-25 19:48
  • ​​C# TableLayoutPanel 绘制边框,防闪屏​​using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D... 2016-02-03 17:45