- 博客(10)
- 收藏
- 关注
转载 MFC模态和非模态对话框
MFC 模态对话框和非模态对话框MFC 中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box)。一、模态对话框(model dialog box)在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消息,直到模态对话框退出才可以发送。点击模态对话框中的OK 按钮,模态对话框会被销毁。创建一个模态对...
2018-08-03 09:09:41
225
转载 UI线程和线程池线程之间通讯之TaskScheduler.FromCurrentSynchronizationContext()
讲了如何在UI线程和线程池线程之间通讯。一般来说,UI线程拥有的对象,其他线程是无法操作的。但是.Net有一个很重要的抽象对象——TaskScheduler(任务调度器)。它协调着不同任务(线程)的运行,使得线程池中的线程有了操作UI线程的可能。在我以前不知道OberservableCollection和WPF开发的时候,都是要么使用 Invoke方法,要么就是使用TaskScheduler。这篇...
2018-07-12 10:18:39
964
转载 Task用法2
随着 .NET 4.0的到来,她与以前各版本的一个明显差别就是并行功能的增强,以此来适应这个多核的世界。于是引入了一个新概念---任务,作为支持并行运算的重要组成部分,同时,也作为对线程池的一个补充和完善。从所周知,使用线程池有两个明显的缺点,那就是一旦把我们要执行的任务放进去后,什么时候执行完成,以及执行完成后需要返回值,我们都无法通过内置的方式而得知。由于任务(Task)的推出,使得我们对并行...
2018-07-11 16:58:11
183
转载 Task用法1
其实Task跟线程池ThreadPool的功能类似,不过写起来更为简单,直观。代码更简洁了,使用Task来进行操作。可以跟线程一样可以轻松的对执行的方法进行控制。顺便提一下,配合CancellationTokenSource类更为可以轻松的对Task操作的代码进行中途终止运行,会在后面的章节中讲述。如果我们使用线程池来实现某几个方法运行,然后等待运行完成的大概会编写如下代码:using (Manu...
2018-07-11 16:57:30
289
转载 byte数组与结构体的转换
在写C#TCP通信程序时,发送数据时,只能发送byte数组,处理起来比较麻烦不说,如果是和VC6.0等写的程序通信的话,很多的都是传送结构体,在VC6.0中可以很方便的把一个char[]数组转换为一个结构体,而在C#却不能直接把byte数组转换为结构体,要在C#中发送结构体,可以按以下方法实现:1)定义结构体: //命名空间using System.Runtime.InteropServices;...
2018-07-11 16:22:30
2603
转载 Queue
1、Queue定义队列(Queue)代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。 2、优点 a、能对集合进行顺序处理(先进先出)。 b、能接受null值,并且允许重复的元素。3、 Queue的构造器构造器函数注释Queue ()初始化 Queue 类的新实例,该实例为空,具有默认初始容量(32)并使...
2018-07-11 15:47:10
276
转载 DataGridView相关方法
DataGridView控件在实际应用中非常实用,特别需要表格显示数据时。可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行。假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方法: 方法一:int index=this.dataGridView1.Rows.Add();this.dataGrid...
2018-07-11 14:53:22
369
转载 OpenFileDialog使用
文件对话框(FileDialog)一、打开文件对话框(OpenFileDialog) 1、 OpenFileDialog控件有以下基本属性InitialDirectory 对话框的初始目录Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1RestoreD...
2018-07-11 14:53:13
18700
转载 StringBuilder
String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,...
2018-07-11 14:53:02
135
转载 ToString()格式大全
一、基本格式:stringstr1=string.Format("{0:N1}",56789); //result: 56,789.0stringstr2=string.Format("{0:N2}",56789); //result: 56,789.00stringstr3=string.Format("{0:N3}",56789); ...
2018-07-11 14:52:42
2289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人