自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 C#GridView常用属性

https://blog.csdn.net/zzh1026/article/details/51366104

2020-08-26 11:56:24 209 1

原创 C#StatusStrip 添加多个标签,布局

状态栏所有项目(StatusLabel、ProgressBar、DropDownButton等)前添加一个空白的StatusLabel (Text属性为空),并将其Spring属性设为True。Spring属性的作用是设置该项是否填满剩余空间,设为True以后,当程序运行时后面的项就都挤到右边,实现靠右对齐了。如果更进一步,需要一部分项靠左,一部分靠右,那就在两部分中间插入空白StatusLabel,同时设其Spring属性为True。 this.statusStrip1.Ite

2020-08-21 18:38:04 666

原创 C#Chart控件

DataSet dataSet = new DataSet(); OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + @"D:\test\data.xls" + ";" + "Extended Properties='Exc...

2020-08-21 10:04:24 430

原创 C#DataGridView显示设置

this.dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//列名居中 this.dataGridView1.RowsDefaultCellStyle.Font = new Font("宋体", 10);//设置列字体 this.dataGridView1.Columns[1].Width...

2020-08-20 09:01:58 972

原创 C#连接EXCEl

C#连接Excel的方法与连接Access的方法类似,同样可以使用OldDBConnection,如下:String excelPath = "你的Excel文件绝对路径"; ConnectionString = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + excelPath + ";" + "Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";其中的参数:Provider就跟Access 的一

2020-08-19 10:57:48 1952 3

原创 C#窗口间通讯

主窗体Form1是一个ListBox,单击选中某列时,弹出窗体Form2,Form2中两个控件,一个是TextBox,显示选中的该列的文本,另一个是按钮,点击时将修改后的值回传,且在Form1中修改相应的列的文本,同时Form2关闭。C#窗体间通讯方法一:传值public partial class Form2 : Form { private string text; private ListBox lb; .

2020-08-15 11:31:07 545

原创 C#接口, 基类,派生类

接口, 基类,派生类namespace ConsoleApp2{ /// <summary> /// IPersonIncome接口 /// </summary> interface IPersonIncome { double Income { get; } void Display(); } /// <summary> /// Student类继承接口 /

2020-08-14 16:17:16 383

原创 C#匿名方法

匿名方法(Anonymous methods)提供了一种传递代码块作为委托参数的技术。匿名方法是没有名称只有主体的方法。在匿名方法中您不需要指定返回类型,它是从方法主体内的 return 语句推断的。delegate void NumberChanger(int n);...NumberChanger nc = delegate(int x){ Console.WriteLine("Anonymous Method: {0}", x);};代码块 Console.WriteLine

2020-08-13 14:08:19 75

原创 C#事件

通过事件使用委托事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联。包含事件的类用于发布事件。这被称为 发布器(publisher) 类。其他接受该事件的类被称为 订阅器(subscriber) 类。事件使用 发布-订阅(publisher-subscriber) 模型。发布器(publisher) 是一个包含事件和委托定义的对象。事件和委托之间的联系也定义在这个对象中。发布器(publisher)类的对象调用这个事件,并通知其他的对象。订阅器(subscriber) 是

2020-08-13 09:57:20 99

原创 C#特性

创建一个自定义特性:// 描述如何使用一个自定义特性 SomethingAttribute[AttributeUsage(AttributeTargets.All, AllowMultiple = true, Inherited = true)] //********自定义特性SomethingAttribute**************//public class SomethingAttribute : Attribute { private string name;

2020-08-11 15:35:59 88

原创 C# 处理XML

使用XMLReader private void button1_Click(object sender, EventArgs e) { richTextBox1.Clear(); XmlReader xmlReader = XmlReader.Create("books.xml"); while (xmlReader.Read()) { if

2020-07-14 14:52:34 257

原创 C# 属性访问器

属性定义 public class a { public string name; } public class b { private string name; public string Name { get { return name; } set { name = value; }

2020-07-08 08:41:12 634

原创 C# 并行和多线程4

异步编程模型Begin/End模式1,委托在执行委托方法的时候,我们常常会看到一个Invoke,同时也有一对你或许不常使用的BeginInvoke,EndInvoke方法对,当然Invoke方法是阻塞主线程,而BeginInvoke则是另开一个线程。2,流在Stream抽象类中提供了这样两对BeginRead/EndRead,BeginWrite/EndWrite(异步读写)的方法,这样它的n多继承类都可以实现异步读写 static void Main(strin

2020-07-04 15:05:04 110

原创 C#并行和多线程3 (同步机制下)

CountdownEvent //默认的容纳大小为“硬件线程“数 static CountdownEvent cde = new CountdownEvent(Environment.ProcessorCount); static void Main(string[] args) { //加载User表需要5个任务 var userTaskCount = 5; cde

2020-07-04 11:43:19 108

原创 C# 并行和多线程3(同步机制上)

同步机制Barrier(屏障同步)比如我们数据库中有100w条数据需要导入excel,为了在数据库中加速load,我们需要开多个任务去跑,比如这里的4个task,要想load产品表,必须等4个task都跑完用户表才行,那么你有什么办法可以让task为了你两肋插刀呢?它就是Barrier。如果我们的屏障设为4个task就认为已经满了的话,那么执行中先到的task必须等待后到的task,通知方式也就是barrier.SignalAndWait(),屏障中线程设置操作为new Barrier(4,(i

2020-07-04 10:13:22 224

原创 C# LINQ的基本用法实例

查询数组中小于8的数字并输出 static void Main(string[] args) { int[] number = { 2, 4, 6, 8, 10 }; IEnumerable<int> lowNum = from n in number where n < 8 select n; foreach (var val in lowNum ) {

2020-07-03 14:36:57 270

原创 C# 委托

定义委托的语法如下delegata void IntMethodInvoker(int x);定义了委托 IntMethodInvoker,并指定该委托的每个实例都可以包含一个方法的使用,该方法带有一个int 参数,并返回void。理解委托的一种好方式是把委托当作这样一件事情,它给方法的签名和返回类型指定名称。 private delegate string GetAString(); static void Main(string[] args)

2020-07-03 13:57:03 111

原创 C# 并行和多线程2

任务是架构在线程之上的,也就是说任务最终还是要抛给线程去执行。 任务跟线程不是一对一的关系,比如开10个任务并不是说会开10个线程,这一点任务有点类似线程池,但是任务相比线程池有很小 的开销和精确的控制。 一:Task1. 最简单的使用 开启task有两种方式:<1> 实例化Task //第一种方式开启 var task1 = new Task(() => { Run1(); .

2020-07-02 17:09:09 234

原创 C#并行和多线程1

Parallel 的使用 parallel.Invokevar stopWatch = new StopWatch(); //创建一个Stopwatch实例stopWatch.Start(); //开始计时stopWatch.Stop(); //停止计时stopWatch.Reset(); //重置StopWatchstopWatch.Restart(); //重新启动被停止的StopWatchstopWatch.ElapsedMilliseconds //获取s...

2020-07-02 15:10:15 167

原创 C#获取计算机信息

using System;using System.Configuration;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Management;namespace test{ /// <summary> /// Computer informercial /// </.

2020-07-02 09:47:54 165

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除