C#、JAVA等编程类
文章平均质量分 62
iloli
这个作者很懒,什么都没留下…
展开
-
控件的数据绑定进阶(包括单向与双向绑定,以及更新模式)
假设我们有一个实体类,需要将它的属性绑定到控件的某个属性(如TextBox.Text)上去。绑定会两个情况,单向绑定和双向绑定。原创 2023-08-08 23:23:43 · 607 阅读 · 0 评论 -
DataGridView 设置汇总
DataGridView列头宽度、高度的调整(宽度支持自动调整的同时允许用户手动调整)。原创 2023-07-14 01:01:46 · 7231 阅读 · 0 评论 -
Visual Studio 修改应用程序图标后不起作用的解决办法
知识点:在windows操作系统上,程序图标是有缓存的(即第一次用到程序图标后之后会被系统记忆)。如果编程时,你通过Visual Studio "项目"-->"属性"-->"应用程序"-->"图标和清单" 对程序图标进行更改后,bin目录里显示的程序文件图标仍未更新的话,就需要清除缓存。清理Icon缓存,位置::\Users\\AppData\Local\IconCache.db 将文件删除即可(推荐)将项目的目录或项目目录以上的父目录改名。原创 2023-03-20 18:03:57 · 1715 阅读 · 0 评论 -
容易被忽略的细节:config文件的使用
一、缘起 最近做项目开始使用C#,因为以前一直使用的是C++,因此面向对象思想方面的知识还是比较全面的,反而是因没有经过完整、系统的.Net方面知识的系统学习,经常被一些在C#老鸟眼里几乎是常识的小知识点给绊倒。 为什么这么说呢,因为我在网络上查找的资料的时候,经常大部分问题,都是能够找到或多或少的参考资料,但是这些小知识点却很少能够找到正确的解决方法转载 2014-04-15 23:09:50 · 9272 阅读 · 0 评论 -
Linq及Lamda表达式应用经验之 GroupBy 分组
示例1:GroupBy 分组在List原表:按姓名Nam 分组后结果: 代码: public partial class Form1 : Form { public Form1() { InitializeComponent(); } List persons原创 2012-06-22 16:06:35 · 25673 阅读 · 1 评论 -
类的继承规则
1、继承是可传递的。如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object类作为所有类的基类。 2、派生类(子类)应当是对基类(父类)的扩展。派生类可以添加新成员,但不能除去已经继承的成员的定义。 3、除默认的构造函数外,其它构造函数和析构函数不能被继承。除此以外的其它成员,不论对它们定义了怎样的访问方式,都能被继承。基类成员的访问方原创 2013-07-10 15:57:34 · 1962 阅读 · 0 评论 -
params关键字实现给方法传入不指定个数的多参数方法
在编写一个方法时,有可能你会遇到这样的一个情况:我不知道要向这个方法里传多少个参数,可能是一个,二个或N个。为了达到这个要求,有一个关键字可以用在方法参数的定义中:paramsparams 要放在方法参数列表的最后。前面可以有其它单个参数,但params后面除自己外不能再有其它参数了。params的参数必须为数组或集合。如下示例:定义一个aaa方法,在使用方法时 除了int 参原创 2013-11-21 10:36:59 · 3344 阅读 · 0 评论 -
无法使用 DataTable.AsEnumerable()方法。
1、项目必须是.net framework 3.5 及以上2、项目引用中添加了System.Data.DataSetExtensions3、using System.Data;原创 2013-10-30 22:32:23 · 14173 阅读 · 0 评论 -
C#TextBox控件拖拽实现获得文件路径
步骤:1、 通过DragEnter事件获得被拖入窗口的“信息”(可以是若干文件,一些文字等等),在DragDrop事件中对“信息”进行解析。2、接受拖放控件的AllowDrop属性必须设置成true;3、必须在DragEnter事件中设置好要接受拖放的效果,默认为无效果。(所以单独写DragDrop事件是不会具有拖拽功能的) private void tex原创 2013-08-26 10:56:27 · 11490 阅读 · 0 评论 -
XML操作示例
XML:可扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。 XML与Acce原创 2013-03-21 14:38:04 · 1143 阅读 · 0 评论 -
C# 获取当前路径的方法
1、获取启动了应用程序的可执行文件的路径。Application.ExecutablePath(包括可执行文件的文件名称)Application.StartupPat(不包括可执行文件的文件名称) 2、获取或设置当前工作目录的完全限定路径System.Environment.CurrentDirectory 更多请点击这里:http://www.cnblogs.co原创 2012-04-11 16:54:25 · 822 阅读 · 0 评论 -
C# 操作EXCEL的方法
C#中要操作EXCEL 可以通过.NET组件提供的功能在visual studio中右键单击【解决方案】中的【引用】,添加一个引用【Microsoft.Office.Interop.Excel】 只要安装了EXCEL就有这个组件EXCEL中索引是从1开始的! object missing = Missing.Value;// 创建Excel对象Microsoft.Offic原创 2012-11-28 19:21:14 · 2270 阅读 · 0 评论 -
ilmerge工具合并多个DLL或EXE
这是一个微软提供的合并多个DLL 或是将DLL合并进EXE的工具首先下载这个工具:ilmergehttp://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=17630合并成DLL:C:\Program Files (x86)\Microsoft\ILMerge>ilmerge /log原创 2013-07-14 15:44:05 · 12440 阅读 · 2 评论 -
.net 通过NPOI或MyXls把DataTable导出到Excel
Excel导入及导出问题产生: 从接触.net到现在一直在维护一个DataTable导出到Excel的类,时不时还会维护一个导入类。以下是时不时就会出现的问题:导出问题: 如果是asp.net,你得在服务器端装Office,几百M呢,还得及时更新它,以防漏洞,还得设定权限允许ASP.net访问COM+,听说如果导出过程中出问题可能导致服务器宕机。 Excel会转载 2013-07-08 15:26:06 · 3159 阅读 · 0 评论 -
实现和调用自定义扩展方法
定义和调用扩展方法定义一个静态类以包含扩展方法。该类必须对客户端代码可见。 有关可访问性规则的更多信息,请参见访问修饰符(C# 编程指南)。将该扩展方法实现为静态方法,并使其至少具有与包含类相同的可见性。该方法的第一个参数指定方法所操作的类型;该参数必须以 this 修饰符开头。在调用代码中,添加一条 using 指令以指定包含扩展方转载 2014-01-16 15:34:20 · 1548 阅读 · 0 评论 -
如何准确判断按下的是组合键,只允许输入数字键等
不是所有的组合键winform都支持,winform目前只支持ctrl、alt,shift等组合键,并且只有KeyDown和KeyUp事件才能获取到组合键信息。代码如下: private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.Modifiers == Keys.Alt原创 2014-02-13 12:03:17 · 2307 阅读 · 0 评论 -
利用SynchronizationContext.Current在线程间同步上下文
在多线程操作时往往需要切回某个线程中去工作,等完成后再切回来。如主UI线程中创建了一个子线程A。A中添加了委托事件。UI线程中向A线程的类注册了事件,当A线程触发事件时去修改UI上的属性如TEXT。这个时候往往要在UI线程向子线程注册的事件方法中使用控件的invoke方法才能访问UI线程中的控件,因为这些注册的事件(委托)方法代码虽然看似写在UI线程的Form类中,但实际上是注册在了子线程A的事件原创 2013-11-21 13:42:09 · 17948 阅读 · 1 评论 -
C#命名规范
C#命名规范 数据类型数据类型简写标准命名举例ArrayarrarrShoppingListBoolean blnblnIsPostBackByte bytbytPix转载 2016-04-08 17:41:23 · 2329 阅读 · 0 评论 -
C#获取本机上所有网络接口及真实IP地址信息
下面显示了如何获取本机上所有网络接口及IP地址的相关信息它们层次关联为:一个本机可以有多个网络接口,这些接口包括实际接口与虚拟接口。每个网络接口可以得到多个IP地址,可能是IPV4也可能是IPV6。得到本机的真实IP地址的原理为:网络接口的状态必须为UP,并且接口类型是Ethernet,并且IP 地址的地址家族类型为 InternNetwork 也就是IPV6以下是原创 2016-04-05 01:12:48 · 12870 阅读 · 2 评论 -
VS中智能提示无法显示中文
经过本人测试,发现只有Framework4.0及以上框架才会有智能中文提示。如果项目中无法显示中文提示请在【解决方案资源管理器】中右键项目名点击属性,将“目标框架”选择为Framework4.0及以上版本。(以下来自网上)如果在VS2015中Framework4.5的项目也无法出现中文提示,则你可以按以下操作:找到:C:\Program Files (x86)\Referenc原创 2016-04-04 09:43:35 · 10311 阅读 · 2 评论 -
如何在 Label 控件内容改变后自动向左伸缩而不是向右
有个变通的办法可以很简单地实现这个效果,就是要修改控件的二个默认属性:修改属性一:AutoSize 修改为False修改属性二:TextAlign 修改为TopRigth默认AutoSize 属性的值是True,我们须要将它设置为False,同时将控件的宽度拉到合适的大小。因为此时控件不会自动向右伸展了,必须要固定好足够的宽度,不然在控件TEXT的内容向左超出宽度时将造成无法显示超出控原创 2015-11-30 15:40:39 · 6369 阅读 · 1 评论 -
在WINFORM程序中使用天气预报
在网上查询到一些示例,但发现使用方法已过时原创 2014-06-03 11:45:20 · 5068 阅读 · 1 评论 -
VS2010不能引用System.Data.OracleClient解决方法
在使用VS2010的时候有时会带不出System.Data.OracleClient这个引用,可以使用以下解决方法:右击项目的属性,在弹出窗口中有一个“目标框架”下拉框选项,默认会是.NET FRAMWORK 4 CLIENT PROFILE,当选项是这个的时候,如果添加引用OracleClient这个dll的话是找不到的,将此选项更改为.NET FRAMWORK 4。看了.NET Fra转载 2013-01-09 10:57:19 · 6553 阅读 · 0 评论 -
扩展方法中使用泛型方法以及泛型参数的约束
在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制。 如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误。 这些限制称为约束。 约束是使用 where 上下文关键字指定的。 下表列出了六种类型的约束:约束说明T:结构类型参数必须是值类型。 可以指定除 Null原创 2014-01-17 20:01:15 · 4234 阅读 · 0 评论 -
Config程序配置文件操作实践进阶之ConfigurationSectionGroup
今天又进一步对cfg.GetSection(原创 2014-04-17 23:44:14 · 10226 阅读 · 1 评论 -
Config程序配置文件操作实践及代码详注
程序配置文件操作实践及代码详注原创 2014-04-15 17:01:10 · 4978 阅读 · 1 评论 -
C#中DataGridView绑定了DataTable后,通过代码修改DataGridView中的数据,总有一行(被修改过并被用户选中的行集合中索引为0的行)不能被UpDate回数据库的问题和解决办法
问题细节:DataAdapter的update方法可以接收一个datatable参数 然后运行下列代码来改变行数据,再去更新数据库的数据foreach (DataGridViewRow i in dataGridView1.Rows) { i.Cells[1].Value = "222"; i.Cells[2].Value = "222"; i原创 2013-07-07 19:45:37 · 18374 阅读 · 2 评论 -
C#&visual studio
************************** C#语言本身 **************************===字符串格式化输出string.Format()===string.Format("insert into product (label,type_id,brand_id,model) values ('{0}','2','2','4600')",textBo原创 2010-03-12 17:40:00 · 2089 阅读 · 1 评论 -
C#的3个Timer
再C#里现在有3个Timer类:System.Windows.Forms.TimerSystem.Threading.TimerSystem.Timers.Timer (推荐)这三个Timer我想大家对System.Windows.Forms.Timer已经很熟悉了,唯一我要说的就是这个Timer在激发Timer.Tick事件的时候,事件的处理函数是在程序主线程上执行的,所以在Win转载 2013-03-20 11:44:53 · 3724 阅读 · 0 评论 -
定义对象的索引器 以及 实现枚举接口IEnumerable
说明:1、定义了对象索引器之后,就可以使用索引的方法得到对象中的某个属性 如 person[0] person并不是数组也不是集合,只是我们将他里面的属性封装成数组或集合,然后通过公开这个数组或集合来让外部使用者调用2、实现了IEnumerable接口的类 可以被foreach历遍。它的本质也是将一个对象的属性封装成一个数组或集合。因为只有数组或集合才是可被枚举的。 代码实现:原创 2012-06-23 11:39:25 · 2643 阅读 · 0 评论 -
委托与事件学习理解2--进阶包括Lambda表达式、匿名类
委托定义:委托是封装方法的引用类型,类似于C中的指针 委托类型表示形式相同的方法。 委托实例能引用形式相同而名称不同的多个方法。 委托实例的加减运算: 1、一个委托实例可同时引用多个形式相同的方法。 2、通过对委托实例进行加法运算或加赋值运算(+或+=),能够令委托实例引用多个方法 3、反之,也可对委托实例进行减法运算或减赋值运算(-或-=),以移除转载 2012-06-03 00:18:29 · 742 阅读 · 0 评论 -
委托与事件学习理解1
之前已经对委托和事件有一些些了解,但由于对概念理解的不完全以及不知道如何使用委托和事件,所以一直以来对这二个词总感觉朦朦胧胧的。这二天颇费了点时间,一边回顾一边查阅,一边理解一边动手做实验,因此基本掌握了其概念和运用方法。 概念不想再写了,网上很多 下面是我做的实验+注释 更详尽了解委托和事件的文章请点击:http://www.cnblogs.com/jimmyzhang/archi原创 2012-06-02 14:21:51 · 686 阅读 · 0 评论 -
DataTable select() 的使用;DataTabel中distinct用法去重复的的字段或者记录 .
DataTabel中distinct在.NET Framework2.0中,选择DataTable等数据源中的唯一值(类似SQL中Distinct的返回结果)非常简单,如下即可:DataTable d = dataSetName.dataTableName.DefaultView.ToTable(true, new string[] { "ColumnName" });在.NET转载 2012-06-06 14:20:50 · 16161 阅读 · 0 评论 -
C#阻止窗体关闭的方法
有时候 我们往往需要在用户点击关闭窗体(或窗体的关闭事件产生)时,对一些变量进行判断,如果存在问题则使用弹出对话框的形式来警告和询问用户,让使用确定是否关闭。用以下几个方法可以实现: 1、窗体关闭事件的重截法 //重截窗体的OnClosing方法 protected override void OnClosing(CancelEventArgs e)原创 2012-06-05 12:38:56 · 13736 阅读 · 1 评论 -
private static 和public static 的区别
private static 和 public static 都是静态变量,在类加载时就定义,不需要创建对象, 但是private static 是私有的,不能在外部访问,只能通过静态方法调用,这样可以防止对变量的修改 public static 是公开的,在外部就可以访问,且可以对该值修改, 在编程中,如果不希望静态变量随意修改,就应该声明private(私有)的,这样外转载 2012-06-02 12:00:27 · 926 阅读 · 0 评论 -
对文件操作(复制/移动/删除)时 报“文件正由另一进程使用,因此该进程无法访问此文件”的解决办法
在对刚刚使用System.IO.File.Create(Path)静态方法创建文件后,立即对它进行复制/移动/删除)时(包括删除此文件所在的整个目录操作System.IO.Directory.Delete(path_updateDir, true)),会报“正由另一进程使用,因此该进程无法访问此文件”的异常错误。这是由于:System.IO.File.Create(Path)静态方法在创建文件原创 2012-04-11 14:48:27 · 13347 阅读 · 1 评论 -
OracleParameter 的使用(参数名要以:开头,不允许包含@等特殊字符)
OracleParameter 的使用(参数名要以:开头,不允许包含@等特殊字符) 在使用OracleParameters时,CommandText 中的参数要以":"开头,不能包含@等特殊字符。而在其它地方引用到此参数时可以不必加上":",程序会自动为其加上":" OracleCommand oracmd = oracon.CreateCo原创 2012-03-21 15:59:54 · 26714 阅读 · 0 评论 -
C#管理数据库连接字符串
管理连接字符串常见的方式有三种:.配置文件管理字符串 .UDL文件管理连接字符串 .注册表管理连接字符串 .其他 `(1).配置文件管理字符串app.config必须在源码目录下,在ide里用添加方式加入app.config 内容如下: 在代码中要using System.Configuration;然后直接 conn.ConnectionString=Con转载 2012-02-01 14:08:33 · 2651 阅读 · 0 评论 -
C# VS2010中,用微软自带的System.Data.OracleClient来连接Oracle数据库
由于微软在.Net框架4.0中已经决定撤销使用System.Data.OracleClient,造成在VS2010中无法连接Oracle数据库,但它还依旧存在于.Net架构中,我们可以通过自己引用 C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.OracleClient.dll 来获得对Oracle数据库的支持。方法:原创 2012-02-09 16:42:21 · 31816 阅读 · 0 评论 -
数据库连接字符串的常见问题和解决方法
数据库连接字符串的常见问题和解决方法:基本知识1:SQL Server数据库的身份验证方式,分windows验证,SQL Server验证两种。打开你的企业管理器。在工具菜单选择——〉SQL Server配置属性(如果该项不可用,请展开你的数据库)切换到安全页,可以看到你的数据库允许的验证方式。如果你不清楚该应该使用哪个的话使用“SQL Server和Windows” 基本知识2:转载 2012-02-01 14:12:34 · 8960 阅读 · 0 评论