C#
史瓦辛彬
这个作者很懒,什么都没留下…
展开
-
C# new 用法
new 用来实例化一个类。比如有一个类叫汽车。你现在想在程序中买一辆,所以你用new来买了一辆汽车,这辆车你得给你找个名字,比如宝马。呵呵所以就成 汽车 宝马 = new 汽车 你有钱了,你要再来一辆 汽车 奔驰 = new 汽车 但他们都有汽车该有的东西:四个轮子,一个方向盘,发动机,车门。所以都是汽车一类的东西。c#所有东西全都是类,一个继承另一个,子类继承父类。转载 2012-06-04 16:26:31 · 761 阅读 · 0 评论 -
KINECT SDK 用法
1、安装KinectSDK-v1.6-Setup.exe,然后,安装KinectDeveloperToolkit-v1.6.0-Setup.exe2、软件安装后安装硬件部分,取出kinect传感器,接上电源,然后将USB插在电脑上,等待驱动自动下载。驱动可以完全自动安装,无须人为介入。3、打开安装好的KinectDeveloperToolkit,每一长方形区域是一个简单的demo,每一个d原创 2012-11-14 13:20:29 · 4077 阅读 · 2 评论 -
WPF Image控件以绝对路径调用图片方法
在WPF中只是在项目根目录中放入图片是没有办法以绝对路径对其调用的。这里提供一个可行的方法如下: 首先在solution explorer中找到项目名称,右击项目名称=>Add=>New Folder,这是会在项目目录中添加一个文件夹为新建文件夹更名为“Image”如下图:右键Image=>Add=>Existing Item,在弹出的对话框中选择要加载的图片。原创 2012-11-30 11:48:25 · 6835 阅读 · 2 评论 -
winform Form与Form之间的通信
在C#中建立两个Form,ParentForm和ChildForm,childForm在ParentForm中定义生成。一、将ParentForm中的变量传递给ChildForm1.在ChildForm中添加一个成员变量public ParentForm myParentForm;2.在ParentForm中添加一个ChildForm的实例ChildForm myChildFo原创 2012-12-13 16:02:16 · 4062 阅读 · 0 评论 -
在C#中使用SerialPort类实现串口通信 遇到多线程问题
在C#中使用SerialPort类实现串口通信 遇到多线程问题在C#中使用SerialPort类实现串口通信。2009年11月01日 星期日 10:03在.NET work 2.0中提供了SerialPort类,该类主要实现串口数据通信等。本文章将本人在学习过程中从网络上搜集到的相关信息写出来供大家参考。下面主要介绍该类的主要属性(表1)和方转载 2013-01-30 11:12:20 · 1435 阅读 · 1 评论 -
winform 获得文件路径说明
.c# winform用 A:“Application.StartupPath”:获取当前应用程序所在目录的路径,最后不包含“\”;B:“Application.ExecutablePath ”:获取当前应用程序文件的路径,包含文件的名称;C:“AppDomain.CurrentDomain.BaseDirectory”:获取当前应用程序所在目录的路径,最后包含“\”; D:“Sy转载 2014-07-29 09:43:28 · 779 阅读 · 0 评论 -
SQL语句在ACCESS中的应用
一、基本语句1、 ACCESS中一般的 select Select 要查询的字段(全部查询则为“*”)from Tabel名 where 查询条件 select ID,姓名,性别,生日 from 会员信息; ACCESS中的字符串可以用双引号分隔,建议用单引号作为字符串分隔符.ACCESS中日期查询Select * From Tab1 Where [Date]>#2010-1-1#; 例:Sele转载 2014-07-30 08:39:39 · 2526 阅读 · 0 评论 -
winform 操作Access
1、打开access新建一个表,命名为selldb,在该表中新建四个列id,name,sex,dpt,将id设置为主键(学习目的,请自己输入数据),保存文件为db.mdb;2、打开VS2010,新建c#窗体项目,设置项目名为dbop,保存项目dbop,将db.mdb拷贝至项目中的Projects\dbop\dbop\bin\Debug文件夹;3、在自动生成的设计器窗体上拖入dataGrid原创 2014-08-19 08:17:55 · 5481 阅读 · 1 评论 -
winform 串口接受常遇到的异常
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { int SDateTemp = this.serialPort1.ReadByte(); //读取串口中一个字节的数据 this.tB_ReceiveDate.Invoke( //在拥转载 2014-08-25 20:54:46 · 2004 阅读 · 0 评论 -
winform 串口自检程序
using Microsoft.Win32;using System.IO.Ports;using System.IO;转载 2014-08-18 17:47:32 · 1125 阅读 · 0 评论 -
C#播放简单语音
首先包含using System.Media;System.Media.SoundPlayer startsund = new SoundPlayer();//声明一个对象startsund.SoundLocation = System.AppDomain.CurrentDomain.BaseDirectory + "NG.wav";//本地音频所在路径,只能是wav格式,其他格式不支原创 2015-06-08 15:33:01 · 1249 阅读 · 1 评论 -
C#中的Dictionary简介
简介在C#中,Dictionary提供快速的基于兼职的元素查找。当你有很多元素的时候可以使用它。它包含在System.Collections.Generic名空间中。在使用前,你必须声明它的键类型和值类型。详细说明必须包含名空间System.Collection.Generic Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是唯转载 2012-11-27 11:10:38 · 566 阅读 · 0 评论 -
C#关于AutoResetEvent的使用介绍(转)
C#关于AutoResetEvent的使用介绍(转)AutoResetEvent 允许线程通过发信号互相通信。通常,此通信涉及线程需要独占访问的资源。线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号。如果AutoResetEvent 处于非终止状态,则该线程阻塞,并等待当前控制资源的线程通过调用 Set 发出资源可用的信号。调用 Set 向 Auto转载 2012-07-28 16:19:51 · 539 阅读 · 0 评论 -
多线程简介
NET将关于多线程的功能定义在System.Threading名字空间中。因此,要使用多线程,必须先声明引用此名字空间(using System.Threading;)。a.启动线程顾名思义,“启动线程”就是新建并启动一个线程的意思,如下代码可实现:Thread thread1 = new Thread(new ThreadStart( Count));其中的 Count 是将转载 2012-07-27 10:33:02 · 712 阅读 · 0 评论 -
多线程编程(2):线程的同步 .
多线程编程(2):线程的同步分类: C#基础 2010-01-10 20:185463人阅读 评论(34) 收藏 举报 在《多线程编程》系列第一篇讲述了如何启动线程,这篇讲述线程之间存在竞争时如何确保同步并且不发生死锁。线程不同步引出的问题下面做一个假设,假设有100张票,由两个线程来实现一个售票程序,每次线程运行时首先检查是否还有票未售出,如果有就按照转载 2012-06-05 13:05:12 · 834 阅读 · 0 评论 -
C#多线程编程(1):线程的启动 .
在实例化Thread的实例,需要提供一个委托,在实例化这个委托时所用到的参数是线程将来启动时要运行的方法。在.net中提供了两种启动线程的方式,一种是不带参数的启动方式,另一种是带参数的启动的方式。 不带参数的启动方式 如果启动参数时无需其它额外的信息,可以使用ThreadStart来实例化Thread,如下面的代码:[c-sharp] view plainco转载 2012-06-05 13:03:18 · 410 阅读 · 0 评论 -
线程间操作无效: 从不是创建控件“...”的线程访问它。
线程间操作无效: 从不是创建控件“...”的线程访问它。Posted on 2007-01-28 15:26lionking 阅读(16641) 评论(9)编辑收藏访问 Windows 窗体控件本质上不是线程安全的。如果有两个或多个线程操作某一控件的状态,则可能会迫使该控件进入一种不一致的状态。还可能出现其他与线程相关的 bug,包括争用情况和死锁。确保以线程安全方式访问控件非转载 2012-06-05 08:54:16 · 459 阅读 · 0 评论 -
多线程编程(4):多线程与UI操作 .
为了让程序尽快响应用户操作,在开发Windows应用程序时经常会使用到线程。对于耗时的操作如果不使用线程将会是UI界面长时间处于停滞状态,这种情况是用户非常不愿意看到的,在这种情况下我们希望使用线程来解决这个问题。下面是一个使用多线程操作界面UI的代码:using System;using System.Collections.Generic;using System.Co转载 2012-06-05 13:07:06 · 616 阅读 · 0 评论 -
多线程编程(3):线程池ThreadPool .
多线程编程(3):线程池ThreadPool分类: C#基础 2010-01-11 20:597247人阅读 评论(12)收藏 举报 在面向对象编程中,经常会面对创建对象和销毁对象的情况,如果不正确处理的话,在短时间内创建大量对象然后执行简单处理之后又要销毁这些刚刚建立的对象,这是一个非常消耗性能的低效行为,所以很多面向对象语言中在内部使用对象池来处理这种情况,以提转载 2012-06-05 13:06:10 · 797 阅读 · 0 评论 -
C# 多线程
一.多线程的概念Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的,线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,转载 2012-06-04 16:57:25 · 521 阅读 · 0 评论 -
线程的挂起和访问
线程类的Suspend() 和 Resume() 方法可以用来挂起/恢复线程。Suspend()方法将会立即挂起当前线程直到另外一个线程把它唤醒。当我们调用Suspend()方法时,线程将会进入SuspendRequested 或者 Suspended 状态。我们来看一个例子。我们创建一个新的C#应用程序并在一个新线程中生成素数。这个应用程序有挂起以及恢复素数生成线程的选项。为了方便操作和演示转载 2012-06-12 09:16:20 · 5740 阅读 · 0 评论 -
C#中值类型和引用类型
C#中值类型和引用类型概念:1.值类型:数据存储在内存的堆栈中,从堆栈中可以快速地访问这些数据,因此,值类型表示实际的数据。2.引用类型:表示指向存储在内存堆中的数据的指针或引用(包括类、接口、数组和字符串)。 C#中定义的值类型包括原类型(Sbyte、Byte、Short、Ushort、Int、Uint、Long、Ulong、Char、Float、Double转载 2012-06-15 16:13:49 · 1683 阅读 · 0 评论 -
C#添加鼠标右键下拉菜单
C#添加鼠标右键方法步骤: 1 选中要添加右键功能的Form或者控件,打开控件的设计页面。 2 从工具箱中找到ContextMenuStrip控件,将这个控件拖曳到Form或者控件的设计页面上。这时系统就会在这个页面下面自动创建一个contextMenuStrip1控件,如果你想在这个页面添加多个菜单,那么你也可以拖曳多个这种控件到设计页面上。 3 按照你的要求将这些转载 2012-06-15 13:48:21 · 3138 阅读 · 0 评论 -
线程间操作无效: 从不是创建控件“lb_RealError”的线程访问它。
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;线程间操作无效: 从不是创建控件“lb_RealError”的线程访问它。一般情况下,在form中创建了控件后,只能由创建他的那个线程调用他。但如果程序是多线程的,而且要在别的线程中调用这个控件,可以在调用的线程中添加这条语句:System.Wind原创 2012-08-02 17:45:35 · 909 阅读 · 0 评论 -
C#中使用DirectX编程
C#中使用DirectX编程 转我感觉声音的播放比较简单。我们从播放声音开始。为什么我这么觉得?我也不知道。这里是展示最最最最最简单的directx播放声音的例子,我尽量省略了无关的代码。最后的代码只有19行,够简单了吧?准备工作:1.安装了directx sdk(有9个dll文件)。这里我们只用到microsoft.directx.dll 和转载 2016-10-21 14:58:30 · 5848 阅读 · 0 评论