自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 获取当前线程名字,ID等信息

在程序中直接获取线程名字,ID等信息,代码如下。用本办法可以比较方便获取当前进程的相关信息。在程序中加入以下引用。

2023-01-26 16:32:40 1404

原创 Devexpress按单元格值控制整行或某单元格的颜色

需求动态显示价格列表,按要求,上涨用红色,下跌用绿色,否则用黑色。1.按单元格的UpDown列值影响整行的颜色显示。2.按单元格的值,影响部分单元格的值。

2022-07-30 16:46:15 1221

原创 C# 参数类型的约束

官网给予如下描述: 约束告知编译器类型参数必须具备的功能。 在没有任何约束的情况下,类型参数可以是任何类型。 编译器只能假定System.Object的成员,它是任何 .NET 类型的最终基类。 有关详细信息,请参阅使用约束的原因。 如果客户端代码使用不满足约束的类型,编译器将发出错误。 通过使用where上下文关键字指定约束。 官网给了许细的解释,以及提供了详尽的例子,大家可以上官网学习类型参数约束 - C# 编程指南 | Microsoft Docs...

2022-01-13 08:40:37 628

转载 C# 使用多线程,关闭窗体时,退出所有线程

关闭程序,销毁所有子线程

2022-01-10 05:11:26 3335

原创 动态选择(或改变)ComboBox内容

应用场景:根据某值,由程序自动选择相应的ComboBox,并显示问 题:通过设置SelectedValue, Text, SelectText, ValueMember, DisplayMember都不能达到目的, 后来,经过多次测试,可以通过改变SelectedIndex,可以达到自动选择ComboBox目的。 接下来要解决的问题就是如何查找某值的SelectedIndex的值了,ComboBox有个方法FindString可以查找某值的Index, 需要注意的是,FindString只能...

2022-01-01 23:30:42 1965

转载 【无标题】Lambda表达式详解

前言 1、天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西。 2、夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅。据说它是微软自c#1.0后新增的最重要的功能之一。lambda简介 lambda运算符:所有的lambda表达式都是用新的lambda运算符 " => ",可以叫他,“转到”或者 “成为”。运算符将表达式分为两部分,左边指定输入参数,右边是lambda的主体。 lambda表达式:...

2021-12-19 15:48:35 569

转载 2021-05-31

C#反射(Reflection)详解1、 什么是反射2、 命名空间与装配件的关系3、 运行期得到类型信息有什么用4、 如何使用反射获取类型5、 如何根据类型来动态创建对象6、 如何获取方法以及动态调用方法7、 动态创建委托1、什么是反射Reflection,中文翻译为反射。这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型(class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组

2021-05-31 17:11:51 100

原创 C# 字符串前后补齐空格

若要输出一个定长的字符串,其补齐空格可用如下方法 string Msg = "要显示的信息"; /// 显示字符串包含空格的总长度 int strLength = 200; /// 左补空格,相当于是右对齐 Msg = Msg.PadLeft(strLength); ///...

2021-05-04 12:48:29 4750

原创 Devexpress Layout排版功能详解

一、Layout的Item快速多选 在Layout控件中点击鼠标右键,打开Customize Layout窗口 在Customize Layout窗口就可以方便对Item实现多选了 二、如果宽度调整不动,将Size contrains设为Free Sizing, 若还调整不动,就需要把MinSize调成1,1 Siae contrains通过右键菜单设置(点击右键的时候,要在选中的ITEM的最后一行),若排版弄乱了,可以对所有的Item设置一下Reset to De...

2021-04-24 16:31:07 2022

原创 Devexpree Layout, Datalayout画边框

Layout画边框,可以定义Layout的CustomDraw事件,实现边框绘制,代码如下: /// <summary> /// 给Layout画个边框 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void d.

2021-04-22 07:09:30 532

转载 C#中timer类的用法

C#中timer类的用法1、System.Windows.Forms.Timer实现按用户定义的时间间隔引发事件的计时器。此计时器最宜用于 Windows 窗体应用程序中,并且必须在窗口中使用。2、System.Threading.Timer提供以指定的时间间隔执行方法的机制。无法继承此类。3、System.Timers.Timer在应用程序中生成定期事件。这三个定时器位于不同的命名空间内,上面大概介绍了3个定时器的用途,其中第一个是只能在Windows窗体中使用的...

2021-03-09 10:29:15 7114

原创 在程序中改变TabControl控件显示的页面

需求:在界面其它操作的时候,TAB先项卡能根据需要切换到不同的TAB /// xtraTabControl1为Tab控件,它包含有两个tab先项卡,其中一个名为xtraTabpage1CommodityAdd /// 若选中的选项卡,不是需要的,则更改之 if(xtraTabControl1.SelectedTabPage != xtraTabPage1CommodityAdd) { xtraTabControl1.SelectedTabPage = xtraTabPage1

2021-02-28 16:39:35 945

原创 获取DevExpress控件 LookUpEdit,GridLookUpEdit 选中行其它列的值

在使用LookUpEdit作为下拉选择框时,若我们想得到选中行的数行,可用如下代码/// gridLookUpEdit1InstrumentIDA是LookUpEdit的名称/// DataRow dr = gridLookUpEdit1InstrumentIDA.Properties.View.GetFocusedDataRow();/// 读取数据行的"ExchangeID", "ConID"数据列 textEdit2ExchangeIDA3.Text =...

2021-02-28 10:55:18 3412 1

转载 VS2017 Winform 设计器异常原因排查

VS2017 Winform 设计器异常原因排查Winform 软件开发过程中,使用可视化设计器 大大提高了应用程序布局效率 ,今天遇到设计器报错,如下错误截图(1-1) ,记录一下排错过程。 前期编写用户控件,从工具箱拖出控件时报错,截图如下(1-1)。程序实际运行过程中不存在此类错误。后来发现,是vs 2017 设计器呈现控件外观时,默认执行了自定义控件的 类构造或 Load 方法引起的 。 那为什么程序实际运行没异常? 于是,在抛出异常点加了 try ca...

2021-02-19 23:50:24 1028

转载 DevExpress控件-lookupedit的使用方法详解(图文)

绑定数据源: lookupedit.Properties.ValueMember = 实际要用的字段; //相当于editvalue lookupedit.Properties.DisplayMember =要显示的字段; //相当于text lookupedit.Properties.DataSource = 数据源; 常用属性 lookupedit.PopupWidth = 1...

2021-02-15 03:27:39 3531

转载 解决DBConCurrencyException并发冲突异常

解决DBConCurrencyException并发冲突异常zhoufs2010-04-17 09:28:001226收藏文章标签:数据库functionexceptioncommandstringsql在数据访问层,我们一般使用DataAdapter来获取或更新数据库数据。很经常地,我们使用 CommandBuilder为DataAdapter自动创建InsertCommand、UpdateCommand、DeleteComand。这 种方式确实很方便,仅需很少的代码...

2020-12-26 15:26:57 734

原创 C# 编程常用代码段(不断增加,仅供自用)

可能是因为自己的记忆有问题了,一些常用的功能,每次写程序都要去百度一下,该怎么写,为此,把常用功能的代码段贴于此,主要是为了日后自己写代码使用,若对大家还有帮助,最好。1. 增加Devexpress Grid列弹出菜单的菜单项(含自定义事件及处理) /// <summary> /// 右键弹出菜单后,增加自定义的两项 /// </summary> /// <param name="sender"&g...

2020-12-03 17:35:25 728

转载 C#获取当前程序运行路径的方法集合

//获取当前进程的完整路径,包含文件名(进程名)。string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)//获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)。stringstr = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;r.

2020-11-28 09:16:39 1417

转载 C#编程向SQLite数据库中正确写入DateTime类型数据

最近用C#编写了一个程序,里面涉及向SQLite数据库写入DateTime类型数据,实际时间为2012/11/30 0:20:00,但写入数据库后变成1899/12/30 00:00:00。实际情况是时间写入数据库失败,1899/12/30 00:00:00是数据库的默认值。经过尝试,发现不能直接用C#的DateTime赋值,而应使用字符串给[PASS_TIME]字段赋值。生成时间字符串代码:DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");修改.

2020-11-25 06:38:35 5651

转载 2020-11-22

业务需求:业务工作中经常需要对表格中的数据进行处理,包括过滤、复合计算等。过滤需要有过滤条件,复合计算需要计算公式。这两种场景都需要一个表达式编辑器。GridControl自带过滤条件的表达式编辑器,我们要做的就是把这个编辑器拿出来,独立于GridControl,进而可以绑定到其它控件上。实现原理:找到表达式编辑器内部类UnboundColumnExpressionEditorForm,这是一个窗口类。我们将其边框设置为None,Dock属性设置为Fill,拖放到控件上,使其看上去像个控件,并公

2020-11-22 20:57:55 155

转载 C#中MessageBox用法大全(附效果图)

C#中MessageBox用法大全(附效果图)我们在程序中经常会用到MessageBox。 MessageBox.Show()共有21中重载方法。现将其常见用法总结如下:1.MessageBox.Show("Hello~~~~");最简单的,只显示提示信息。2.MessageBox.Show("There are something wrong!","ERROR");可以给消息框加上标题。3.if (MessageBox.Show("Delete th...

2020-11-19 07:30:54 11057

原创 C# 反射功能的使用(很详细)

一、使用方法过程及步骤 1. 定义要访问类的全名 2. 获取该类的类型 3. 实例化该类 4. 获取该类的字段、属性,方法 5. 设置该字段或属性内容,或调用其方法从而达到使用字符串访问相应类的目的二、代码示例 1. 根据窗口类的名称,产生一个新的窗口,相当于new 窗口类 /// 1. 定义窗口类名称:(窗口类的字符串名字,需要全路径名,否则获取不到TYPE) ...

2020-11-14 20:11:41 3839 1

转载 Devexpress 增加非绑定列

using DevExpress.XtraGrid.Views.Base;using DevExpress.XtraGrid.Columns;private void Form1_Load(object sender, System.EventArgs e) {// ...gridControl1.ForceInitialize();// Create an unbound column.GridColumn unbColumn = gridView1.Columns.AddField("To.

2020-11-11 20:37:45 234

转载 sqlite 日期型 字符串转为日期型

sqlite 日期型 字符串转为日期型因为sqlite为弱引用,使用字段前将他强制转为日期型,用datetime。或者最原始的strftime。SELECT distinct ID from testTable where datetime(availDate) between datetime('2015-01-12 04:00') and datetime('2015-01-13 00:00');SQLite日期时间函数SQLite支持以下五个日期时间函数:date(t...

2020-11-10 08:03:36 4359

原创 C# DataGridView增删改后,把数据同步到数据库(表格不需要有主键,新版可以处理Sqlite的DateTime数据)

网上介绍的同步方法,都需要表有主键,若没有主键该怎么办呢,为此,我自己对DATATABLE增删改自动生成相应的INSERT, DELETE, UPDATE相应的SQL语句来完成这些功能为了不会错删,错改,对于所有没有改变的字段都作为条件,代码如下:1. 写表的主程序 要点:(1)因为DELETE后的数据不能直接读取,所以通过DataView进行了一次转换 (2)针对修改的数据,有可能又改回原数据,但DataTable是认为修改的,但目前的程序在自动...

2020-11-09 05:36:27 2513

原创 C# 根据DATATABLE自动创建数据库表

在实际应用中,针对C#不同类型,要转换成不同数据库类型,只要修改相应的CASE语句即可,创建数据库的表名为DataTable指定的表名 /// <summary> /// 根据Datable参数,构建建表的SQL语句,仅对以下的数据类型进行处理 /// string, int16/32/64, double, decimal, date, bool /// 若要处理其它类型的列,需要增加相应的case语句 ...

2020-11-09 05:02:07 2480

转载 C#中string.format用法详解

C#中string.format用法详解string.Format对C#字符串格式化String.Format 方法的几种定义:String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项。String.Format (String, Object[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。String.Format (IFormatProvider, S

2020-11-06 18:37:49 2171

转载 C# 反射功能

反射的用途: (1)使用Assembly定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例。 (2)使用Module了解包含模块的程序集以及模块中的类等,还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。 (3)使用ConstructorInfo了解构造函数的名称、参数、访问修饰符(如pulic 或private)和实现详细信息(如abstract或virtual)等。 (4)使用MethodInfo了解方法的名称、返...

2020-11-05 20:41:24 854

原创 DataTable状态为Deleted数据行的读取

1.先将状态为Deleted的数据读到DataView DataView deleteView = new DataView(pDt, null, null, DataViewRowState.Deleted);2.再将DataView转成DataTalbe DataTable deleteRows = deleteView.ToTable();3.网上大量文章说用DataRow[<列名>, DataRowVersion.Original]来访问,反正我试的不行...

2020-10-31 16:24:54 426

转载 DataTable DataRow.RowState 属性深入分析

RowState 介绍从不同位置载入 DataRow 后 RowState 的状态 修改, 更改, 删除后的 DataRow.RowState 转化 使用 AcceptChanges, RejectChanges, SetAdded, SetModified 方法后 DataRow.RowState 的转化 使用 ImportRow, Copy 方法后 DataRow.RowState 的转化 访问不同 RowState 的 DataRow 中的数据 获取 DataTable 中不同 RowS

2020-10-31 16:10:28 816

转载 C#获取变更过的DataTable记录的实现方法

本文实例讲述了C#获取变更过的DataTable记录的实现方法,是一个非常实用的功能!具体实现方法如下:首先DataTable可以看做是一个物理表的内存式存储,每一个DataRow都有一个属性叫做RowState。因此任意一行中某一个字段发生改变,那么整个DataRow的RowState也就发生了改变。RowState是一个枚举,其中包含5个内容:1)Detached:未被附加(一般刚创建的DataRow,或者已经被Remove或者RemoveAt,或者Delete之后调用过AcceptChange

2020-10-25 09:02:45 655

转载 C#中的invoke方法

C#中的invoke方法在用.NET Framework框架的WinForm构建GUI程序界面时,如果要在控件的事件响应函数中改变控件的状态,例如:某个按钮上的文本原先叫“打开”,单击之后按钮上的文本显示“关闭”,初学者往往会想当然地这么写:void ButtonOnClick(object sender,EventArgs e){button.Text="关闭";}这样的写法运行程序之后,可能会触发异常,异常信息大致是“不能从不是创建该控件的线程调用它”。注意这里是“可能”...

2020-10-23 09:09:14 7344

转载 C#跨窗体传值的几种方法分析(很详细)

C#跨窗体传值的几种方法分析(很详细)创建一个Winform窗体应用程序项目,然后添加一个Form2窗体。在Form1和Form2中各添加一个textBox和button:单击Form1中的button1,弹出Form2,然后要做的就是在Form1中的textBox1和Form2中的textBox2中传值。为了方便起见,将Form1称作父窗体,将Form2称作子窗体。相对来说,将父窗体的值传到子窗体较为容易实现。下面分别进行说明。一、父窗体传值给子窗体。...

2020-10-23 09:00:41 2103

转载 SQLite之C#连接SQLite

SQLite之C#连接SQLite2015-05-05 17:52糯米粥 阅读(40651) 评论(1)编辑收藏我的程序突然不能访问数据库了,回过头来再看这文章,才知道是自己的几天设置的目标平台改了,耗了大量时间,转载本文是因为它对我的帮助,感谢作者,也希望对新用户有帮助SQLite是一个开源、免费的小型的Embeddable RDBMS(关系型数据库),用C实现,内存占用较小,支持绝大数的SQL92标准,现在已变得越来越流行,它的体积很小,被广泛应用于各种不同类型的应用中。SQ...

2020-10-21 10:28:19 2809

转载 #IB TWS编程手记——00.TWS API准备工作

IB TWS是什么?IB TWS是电子券商IB的量化交易API,是开发、研究自动量化交易算法的重要工具。关注过我的朋友,可能知道之前我曾经翻译过IB API的相关文档,但是由于平日工作实在太忙,这个工作完成1/3就鸽了,实在对不住各位朋友。后来我想了想,不如把怎么使用IB API的方法直接告诉有兴趣的朋友,一些更深入的方法技术,可以在你掌握相关知识后,自己主动查找IB的开发文档,况且IB新一代的API更新很快,如果单纯的翻译开发文档,实在是用爱发电的项目。除了IB以外,我还有什么工具可以当作

2020-10-08 02:48:53 1200

翻译 TWS错误代码一览表(中文)

# IB TWS programming Notes-Appendix I error Code _ Aki Lab-CSDN blogTWS使用IBApi.EWrapper.error方法不仅可以传递错误,还可以传递警告或信息消息。这主要是为了简单起见。下面是一个包含TWS/IB网关可以发送的所有消息的表。TWS传递的所有消息通常伴随着一个简短但有意义的描述,指出问题的方向。系统讯息码请记住,TWSAPI只需连接到正在运行的TWS/IB网关,如果不是在与客户端应用程序相同的主机上,则大多数情况

2020-10-08 02:45:43 1977

转载 C# 理解泛型

术语表generics:泛型type-safe:类型安全collection: 集合compiler:编译器run time:程序运行时object: 对象.NET library:.Net类库value type: 值类型box: 装箱unbox: 拆箱implicity: 隐式explicity: 显式linked list: 线性链表node: 结点indexer: 索引器简介Visual C# 2.0 的一个最受期待的(或许也是最让人畏惧)的一个特性就是对于泛

2020-09-20 04:25:45 140

转载 C#中的泛型

.Net 1.1版本最受诟病的一个缺陷就是没有提供对泛型的支持。通过使用泛型,我们可以极大地提高代码的重用度,同时还可以获得强类型的支持,避免了隐式的装箱、拆箱,在一定程度上提升了应用程序的性能。本文将系统地为大家讨论泛型,我们先从理解泛型开始。1.1 理解泛型1.1.1 为什么要有泛型?我想不论大家通过什么方式进入了计算机程序设计这个行业,都免不了要面对数据结构和算法这个话题。因为它是计算机科学的一门基础学科,往往越是底层的部分,对于数据结构或者算法的时间效率和空间效率的要求就越高。比如说,当

2020-09-20 04:20:01 624

转载 你知道C#中的Lambda表达式的演化过程吗?

阅读目录关闭委托的使用 匿名方法 Func和Action Lambda的诞生那得从很久很久以前说起了,记得那个时候...懵懂的记得从前有个叫委托的东西是那么的高深难懂。委托的使用例一:什么是委托?个人理解:用来传递方法的类型。(用来传递数字的类型有int、float、double,用来传递方法的就有委托)例二:又经过了很久很久...匿名方法很多时候委托接收的方法是一次性的或者方法体是非常简单的...例三:我们可以写成:...

2020-09-16 06:48:05 168

原创 Devexpress 动态添加DockPanel资源的释放

Devexpress动态添加的DockPanel在运行时,关闭DockPanel后,发现不能再打开相同功能的Panel了,因为我的程序有限制,某个功能Panel若己打开,就不再打开,而是激活该Panel, 由此可见,我运行时半闭DockPanel, 虽然在界面上关闭了,但内存的资源没有释放,所以再次打开该功能的Panel就被拒绝了 为此,程序需要注册Panel的关闭事件,把该Panel占用的资源释放掉1. 释放资源的程序 // 给panel注册关闭事件 ...

2020-09-07 05:46:12 1036 1

空空如也

空空如也

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

TA关注的人

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