摘要:
我时不时会遭遇这个操蛋问题,今天得闲研究了一下,解决如下:A、将窗体FormBorderStyle属性改为Fixed系,当然这会导致用户不能拖拉窗口大小,所以你可能需要B计划↓B、确保在【VS】中的【窗体】的Size.Width >= MinimumSize.Width + 8。如图:是的,只有下面大过上面至少8个像素,才是理想效果,至于为什么,没深究,大概可能跟NT6的Aero界面,边框大于XP有关。 阅读全文
摘要:
我时不时会遭遇这个操蛋问题,今天得闲研究了一下,解决如下:A、将窗体FormBorderStyle属性改为Fixed系,当然这会导致用户不能拖拉窗口大小,所以你可能需要B计划↓B、确保在【VS】中的【窗体】的Size.Width >= MinimumSize.Width + 8。如图:是的,只有下面大过上面至少8个像素,才是理想效果,至于为什么,没深究,大概可能跟NT6的Aero界面,边框大于XP有关。 阅读全文
摘要:
这条语句:b ? "aaa" : "bbb" + "ccc";会解释为:b ? "aaa" : ("bbb" + "ccc");而不是:(b ? "aaa" : "bbb") + "ccc";所以喜欢用?:句式拼字串的猿友们得注意这个规则。详情参见:http://msdn.microsoft.com/zh-cn/library/ty67wk28(v=vs.90).aspx 阅读全文
摘要:
这鸟属性把我害苦过,特此敬告一下大家。具体表现在:获取时:在DateTimePicker.ValueChanged事件中,获取到的Text有可能是string.Empty!!!,特别当ValueChanged事件是在构造函数或Load、Shown等启动事件中触发时,得到string.Empty的几率增大;赋值时:有可能触发不了TextChanged事件(该事件默认不显示在设计器中,但的确是存在的);可能的原因:先看Value属性的setter源码:set{ bool flag = !DateTime.Equals(this.Value, value); if (!this.user... 阅读全文
摘要:
有个c#程序在某台电脑上,执行某个操作时,总是会报如图错误:度娘一番,发现市面上常见的原因是配置文件中的特定节点的位置不对,或者配置文件损坏等等,而这个程序根本没有使用内置的配置文件方案,而是用的ini,所以不适用我的问题。由于这个程序不是我的,所以首先reflator出源码(c#这点让我纠结,一方面怕自己的程序被人反,另一方面又得益于此~可以反别人的,NND),调试追踪之下,发现居然是WebRequest.Create()引发的异常,这方法多数会因为传入的uri字串不合法而引发格式错误的异常,这次能引发上述错误还是头一次见(我想Create方法内部也是由其它类引发的,但没深究),anyway 阅读全文
摘要:
Update:201307180945今天这鸟问题又找上我了,照之前的方法做后没解决,我又做了些尝试,整个流程如下:1、插上U盘,发现问题2、以devmgr_show_nonpresent_devices=1模式启动【设备管理器】,并勾选【查看\显示隐藏的设备】3、【便携设备】中卸载可疑项目。拿不准就全卸4、在diskmgmt.msc中更改U盘的盘符5、【磁盘驱动器】中卸载该U盘6、重启,好了7、WCNNNDSPWT!============原文==================标题有点怪,原因是我不都不知道该怎样概括这个鸟问题,所以尽可能列出一些主要现象,希望有需要的童鞋搜到。但比标题更怪 阅读全文
摘要:
经测这俩方法会锁住文件,导致程序运行期间无法对load过的程序集文件进行更名/删除/覆盖等等操作,考虑用Assembly.Load()文件字节组替代:Assembly.Load(File.ReadAllBytes(@"c:\a.exe"));注意Assembly.Load()的其它重载方法也可能会锁住文件~具体没尝试,可以确定的是Load文件字节组的方法不会,我猜是因为Load的是文件被读入到内存中的字节组,而不是处于文件系统上的文件本身,所以不会锁住文件~猜想而已,没深究。 阅读全文
摘要:
.net中的许多类都提供了Close()和Dispose()方法,一直以来我都以为它俩是一回事,是完全等价的,在任何地方,用其一即可,这一意识源于《NET设计规范:约定、惯用法与模式》一书中,P239和P240关于这俩方法的设计建议。按书中的字面理解,Close就应该设计为与Dispose一样的功能,是为了照顾自然语言的一种考量,的确对于有些类,说Close比说Dispose更符合用户的理解(如关闭连接、关闭流),所以这让我觉得Close就是作为Dispose的另一种使用渠道而存在,本来只需一个Dispose就够了,事实上我也没有因为随意使用它俩而造成过任何问题,所以一直以来没深究。可是今天在 阅读全文
摘要:
.Net本身没有封装对快捷方式的操作类,所以要在C#中操作快捷方式,需要借助“外力”。市面上常见的方法是通过Windows Script Host Object Model这个COM组件来完成。这种方法的缺憾是你的程序必须带上Interop.IWshRuntimeLibrary.dll这个文件(不过也许可以把这个dll并入exe中再动态加载什么的)。Anyway~今天说的是另一个途径——WMI(Windows Management Instrumentation),这个东东我了解不深,只知道很强大,几乎涉及win系统软硬件资源的方方面面,使用一种叫WQL的查询语言(SQL它妹)获取资源信息,我 阅读全文
摘要:
这两对属性光从MSDN上看不出什么区别,在到底选用其中哪个属性时给我造成过困扰,后来冥冥中觉得它们之间可能有关联,遂决定实验一下:果然,它们之间内部是私通的,赋值其中一个,另一个会跟着改变。通过反编,发现SqlDbType和DbType是通过一个叫MetaType的类实现的私通(这个类是internal的,所以外部不能访问),而SqlValue和Value则是通过SqlParameter类中的一个私有字段_value实现私通,具体此处不详谈。总之知道这两对基友有联动就行了,以后不用再纠结用哪一个。PS:其实MSDN中有提到SqlDbType和DbType之间是有联动的,参看http://msd 阅读全文
摘要:
注:周节点是根据中国习惯,视周一为起,周日为末。 阅读全文
|