yzx99

导航

统计
 

2013年10月19日

摘要:一个类的某个属性要实现Key与Value的对应,以便通过访问名称就可以知道对应值,而不是通过索引号,最简单的方法直接用 哈希表using System.Collections;class Class1{ private Hashtable oTest = new Hashtable(); public Hashtable Test { get { return oTest; } set { oTest = value; } }}使用示例:Class1 cls = new Class1();cls.Test["XM1"] = "OK";MessageBox 阅读全文
posted @ 2013-10-19 23:49 yzx99 阅读 (779) 评论 (0) 编辑
 

2013年10月18日

摘要:改后方案还有一个问题:索引器是用文本,这样,如果程序员不小心写错一个配置选项,系统无法在编译阶段就发现,所以想把代码由:string sTemp = oXMJH2["XM1"].Value;改为string sTemp = oXMJH2.XM1.Value;ClsXMJH2.cs 代码如下:using System.Collections.Generic;namespace WindowsFormsApplication12{ class ClsXMJH2 { public ClsXM XM1 = new ClsXM("XM1"); public Cls 阅读全文
posted @ 2013-10-18 02:02 yzx99 阅读 (187) 评论 (0) 编辑
 
摘要:一般情况下,我写的程序在界面装载时,读取配置文件中的各个项目,中间使用或修改后,在界面退出时,保存一下配置文件。在还不是面对对象年代,基本上都会把读配置文件中的一个项目、写配置文件中的一个项目都写成一个子程序,这样调用方便。当需要多增加新的一个项目时,只要在界面装载、界面退出时,各增加一行。当时感觉已经是不错的处理方案了。Program.cs 中“读写INI的API”代码 // 声明INI文件的写操作函数 WritePrivateProfileString() [System.Runtime.InteropServices.DllImport("kernel32")... 阅读全文
posted @ 2013-10-18 00:40 yzx99 阅读 (216) 评论 (0) 编辑
 
摘要:今天写一个类实现 IList 接口时,编译不成功,提示使用泛型 类型“System.Collections.Generic.IList”需要“1”个类型实参开头以为自己格式写不对,但找一下网络,结果让人大跌眼镜,居然是:漏了using System.Collections;这句话实现该错误的代码如下:using System;using System.Collections.Generic;namespace WindowsFormsApplication12{ public class MyCollection : System.Windows.Forms.ListBox.ObjectCol 阅读全文
posted @ 2013-10-18 00:19 yzx99 阅读 (79) 评论 (0) 编辑
 

2013年10月14日

摘要:VB用得习惯后,到C#中来觉得很奇怪,如此好的控件数组怎么不见了。“众所周知,控件数组最主要的两个优点:可以循环附值;可以响应同一个事件。从而大大简化了代码。引自http://wenku.baidu.com/view/769c436b561252d380eb6e72.html”但该文提出的方法仍然不适合我的这种情况:比如一个按钮,一个文本框,界面上放上好几对(我放6对)然后,希望实现的功能是点击一个按钮,对应的文本框内容显示“OK”按钮点击:这个用于处理代码比较少的,界面对数比较少的。如果处理代码比较多,一般再把代码变为子程序。但处理的事件子程序还是一样的多把按钮的处理事件都指向同一个事件处理 阅读全文
posted @ 2013-10-14 08:37 yzx99 阅读 (7265) 评论 (0) 编辑
 

2013年10月12日

摘要:在VB6中,如果要自定义纸张很方便: Rpt.PaperSize = crPaperUser Rpt.SetUserPaperSize lZZG, lZZK但在C#中却不行了,没有发现 SetUserPaperSize。现在同事的问题是预览时很正常显示中一刀,但点击自带的工具栏打印时,就是 Letter 纸。本想用 Reflector 跟踪出是否有哪个地方可以利用的,没有结果。再找网络上的说法,终于在http://www.cnblogs.com/zeroone/p/3306172.html中看到关键一行rptDoc.PrintToPrinter(1, true, 0, 0);它有一行:Prin 阅读全文
posted @ 2013-10-12 17:33 yzx99 阅读 (1489) 评论 (1) 编辑
 

2013年10月9日

摘要:自定义控件容器框有一个清空方法,其中的代码是对内部包含的所有自定义控件进行清空操作,例如文本控件,把文本框的内容清空。我原来在VB中的代码如下:Public Sub Clear()Dim C1 As Control For Each C1 In UserControl.ContainedControls Select Case TypeName(C1) Case "HYText", "HYNum", "HYDate", "HYMText" If C1.NoClear Then Else C1.Text = &quo 阅读全文
posted @ 2013-10-09 21:53 yzx99 阅读 (222) 评论 (0) 编辑
 

2013年10月7日

摘要:参考:StyleCopSDK.chm与 Byeah的编写StyleCop自定义规则教程(一)---编写中文备注的简单校验规则1.建立“类库”类型的C#项目2.加入 Microsoft.StyleCop.dll 与 Microsoft.StyleCop.CSharp.dll 的引用3.增加一个类,继承于:SourceAnalyzer,并带有 [SourceAnalyzer(typeof(CsParser))] 标题头。4.重写AnalyzeDocument方法5.使用WalkDocument遍历代码,并执行指定的方法6.建立与类同名的XML文件编译,生成 DLL放到C:\Program File 阅读全文
posted @ 2013-10-07 23:01 yzx99 阅读 (2360) 评论 (0) 编辑
 

2009年12月9日

摘要:12月3日,公司服务器的RAID卡坏了,并且备份体系也失效了一个多月,现在硬盘中的数据库都被SQL认为异常。第一个,还可以通过紧急修复的模式来附加成功。另一个却没有这么好,还原时总是提示“对于文件***.mdf 头不是有效的数据库文件头。 PageAudit 属性不正确。”我找了半天,发现中文的资料比较少,发现有人介绍一个软件——SQLRecover... 阅读全文
posted @ 2009-12-09 21:41 yzx99 阅读 (847) 评论 (1) 编辑
 

2009年6月11日

摘要:我习惯把日期字段做为文本字段保存。但今天想用字段中的公式功能,设置一个星期几的功能,结果没成功。(substring('日一二三四五六',datepart(weekday,RQ),1))后来试一下,如果RQ是datetime字段类型就可以成功。只好放弃,改用视图功能了。 阅读全文
posted @ 2009-06-11 17:27 yzx99 阅读 (172) 评论 (0) 编辑