C#
norsd
这个作者很懒,什么都没留下…
展开
-
C# 设置窗体最大化,以及窗体最大化时的坐标
注意WndProc中在处理WM_GETMINMAXINFO后,可以继续运行 base.WndProc(ref m)不会影响,可能系统默认不修改其中的内容。原创 2024-04-23 20:29:02 · 425 阅读 · 0 评论 -
由于临时文件夹造成的DOTNET_BUNDLE_EXTRACT_BASE_DIR错误
在.net在windows中, DOTNET_BUNDLE_EXTRACT_BASE_DIR 被设为 %TEMP%当服务器运行“单文件部署”的程序时,其内部使用 %TEMP% 保存临时文件,但是%TEMP%指向的目录不存在。为何%TEMP%文件在系统中显示与实际指向冲突,原因不知道。PlanB 就是创建那个 Temp\2 这个文件夹。系统显示的 %TEMP% %TMP% 全部正常。原创 2023-02-18 14:07:11 · 320 阅读 · 0 评论 -
c# - 通过 .net 反射仅获取 protected 成员
反射得到protected,internal,private原创 2023-01-01 23:39:57 · 369 阅读 · 0 评论 -
C# MongoDb 数据转化为Json
var str = "mongodb://127.0.0.1:27017"; var client = new MongoDB.Driver.MongoClient(str); var db = client.GetDatabase("Test2018"); var t = db.ListCollectionsAsync(); t.Wait(); ...原创 2021-12-09 19:02:45 · 561 阅读 · 1 评论 -
c# 判断是否为null, 到底使用 “is null“ 还是 “==null“
判断是否为null 应该使用 is null避免使用 “== null”因为 后者可能调用 “operator ==”另外1:C# 9.0 引入了 is not另外2:有用的判断为null 后抛出异常的简洁语句:public static int CountNumberOfSInName(string name){ _ = name ?? throw new ArgumentNullException(nameof(name)); return name.Count(c =>原创 2021-09-01 22:40:15 · 7503 阅读 · 0 评论 -
Wind WSS 与 WSET 中读取合约ContractMultiplier的问题
WSET 中读取某一个Underlying的期权合约时,2可以设置,也必须设置一个时间, 例如 上图中 2020-11-30 是510050.SH的分红日,期权老合约变为A,同时有新合约M成为标准合约如果把日期改为2020-11-29则会返回还没有变成A合约的M标准合约随后返回的数据项中可以看到他的合约乘数是和日期相关的,他们在30日变成了10145,而29日还是10000WSS 读取合约乘数的时候,有2个Column可以用,分别是 contractmultiplier 和 exe_rat.原创 2020-12-19 15:09:13 · 709 阅读 · 1 评论 -
C# Windows Form 设计界面与实际显示不同的问题
问题来自于不同的缩放比率,默认是100%,更高的分辨率可能被认为调成125%, 150%这个可以用DPI表示目前没有很好解决,只有一些reference:https://blog.csdn.net/qq_42697866/article/details/104522827https://stackoverflow.com/questions/4075802/creating-a-dpi-...原创 2020-04-22 16:05:57 · 2665 阅读 · 0 评论 -
c# 程序在其他没有Visual Studio 环境下运行异常报错形如: Could not load file or assembly ‘System.ValueTuple
c# 程序Release版本复制到其他没有Visual Studio环境下直接异常报错形如:“Could not load file or assembly 'System.ValueTuple…”其原因可能是因为机器上有不同版本的Dll在新版本Visual Studio 中CSPROJ会有语句true这样启用了“自动绑定重定向”Reference:https://docs.mic...原创 2020-02-14 20:20:58 · 867 阅读 · 0 评论 -
C# ComboBox 使用 DataSource SelectedIndex无法设置的问题
在C#中如下代码var cbo = new ComboBox();cbo.DropDownStyle = ComboBoxStyle.DropDownList;var cbo.DataSource = new int[]{1, 2, 3};cbo.SelectedIndex = 0;cbo.SelectedIndex = 1;cbo.SelectedIndex 仍然等于 -1并不会...原创 2020-02-13 20:13:55 · 1808 阅读 · 0 评论 -
C# Desinger 忽略Property
reference:https://stackoverflow.com/questions/2598733/how-do-i-get-the-winform-designer-to-totally-ignore-a-property-on-a-custom-contrI think you can use [Browsable (false)] and [DesignerSerializati...转载 2020-02-02 03:58:22 · 162 阅读 · 0 评论 -
关于函数参数压入堆栈, C#函数作为CallBack的问题@CTP
关于函数参数压入堆栈@CTP问题描述:之前使用C#的Delegate描述C++的类函数如下:///请求查询合约响应virtual void OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {}...原创 2020-01-16 01:17:58 · 307 阅读 · 0 评论 -
Winform 控件大小失常临时解决办法
代码 norlib/TestScenarioContainerControlSize调用SetProcessDPIAware或者修改manifest来自引用:https://blog.csdn.net/pigautumn/article/details/83900748?tdsourcetag=s_pctim_aiomsgWindows的高DPI支持是通过DWM(Desktop Windo...原创 2019-12-10 10:44:04 · 506 阅读 · 0 评论 -
C# WebBrowser 如何写 AttachEvent
C# WebBrowser 比如 IHTMLDocument2/3 中开始有 onclick , onxxxxxx , attachEvent 之类好用的属性.比如 attachEvent( string strEvent , object oDispatch ) ; strEvent 自不必说, oDispatch却要说一下. 在c++中 , oDispatch 是一原创 2010-02-01 00:19:00 · 3107 阅读 · 3 评论 -
PHP 调用 C# dll
弄了半天, PHP 终于能调用我的C# dll 了. 该死的,我对C# COM注册一向不了解, PHP 文档上只给PHP那部分内容,没告诉我怎么弄dll我还傻兮兮的用 Regsvr32 注册那个c# dll. 背景:Windows xp sp3 ; apache 2.2.14 ; php 5.2.12 ;VS2010 beta ; 语言:PHP5 , C#原创 2010-02-20 02:12:00 · 8892 阅读 · 3 评论 -
C# 如何生成SafeArray(VBarray) 以及Javascript Array.
过去我用VC写的WebBrowser和JS交互时,遇到需要传递数组时, 总是使用SafeArray , 就是VBarray . 尽管我知道可以通过接口直接创建 JS array , 但是我们都知道vc 实现还是很麻烦,很琐碎, 所以一直用SafeArray.现在用c#写的时候,就遇到问题了.我的一个IExternal接口中的函数无法传递 SafeArray .我刚开始代码是这样原创 2009-12-21 19:27:00 · 4904 阅读 · 5 评论 -
C# WebBrowser External 注意问题
1. External 类必须 [ComVisible(true)]2. External 类必须 public class YourExternal[]3. External 类函数必须 public , 否则 window.external 不可见。原创 2010-03-30 11:32:00 · 3739 阅读 · 2 评论 -
int 转 DateTime 需要注意的问题
<br /><br /> <br />一个int值转换为DateTime 需要从 1970年1月1日0点0分0秒开始.<br /> <br />但是必须明确,这个时间是标准时间,所以不是北京时间.<br /> <br />数据库中数据的时间都是以标准时间为准绳的.<br /> <br />所以必须转换到当前时间, 中国是 +8 , 可以简单的调用 ToLocalTime 达到效果.<br /> <br /> var retDate = new DateTime(1970, 1, 1).ToLocalTi原创 2010-12-23 10:49:00 · 2475 阅读 · 0 评论 -
C# 组件,动态创建的组件,本身引起的异常
var arrFiles = oDI.GetFiles("*.dll"); foreach (var fi in arrFiles) { var ass = Assembly.LoadFile(fi.原创 2011-08-03 20:09:00 · 1072 阅读 · 0 评论 -
C# System.Data.Sqlite.dll 的注意事项
最近在鼓捣Sqlite,而且用在C#上面。一般这个wrapper都是用 System.Data.Sqlite 来做的。国外就喜欢折腾啊,悲剧啊,找了半天找到个:http://sqlite.phxsoftware.com/看也不看就下了个1.0.66.0 A原创 2011-09-21 01:01:32 · 26816 阅读 · 2 评论 -
C# delegte 函数到 Unmanaged 时引发的问题
奇怪的,添加了一个组件功能, MousePreview , 其中使用了 SetWindowsHookEx , 然后出现了问题:这个问题很奇怪,是一个 delegate 引起的, 然后查阅了msdn,如下:http://social.msdn.microsoft.com/Forums/en-SG/csharpgeneral/thread/4ede3fe3-8681-40b原创 2011-11-09 22:35:36 · 1307 阅读 · 0 评论 -
C# struct class 在Marshal.SizeOf 的区别
struct 和 class 的区别最重要的就是 value 和 object 区别了.但是最近发现另外一个有趣的现象,但是很重要.一个工程中,因为需要各种结构,于是在开始使用了 struct , 但是觉得有点麻烦,值传递的话,消耗很多,又不喜欢 ref (因为我喜欢写泛型函数)于是采用了 class , 接下来顺风顺水 , 直到..... [Seriali原创 2011-12-09 14:49:14 · 4831 阅读 · 0 评论 -
C# 窗体处理自定义消息
protected override void DefWndProc(ref Message msg) { if (msg.Msg == 123456) { label1.Text = strStatus; return; }原创 2011-12-15 14:50:32 · 1893 阅读 · 0 评论 -
C# Form 点击关闭按钮 如何隐藏
void FormClosing(object sender, FormClosingEventArgs e) { this.WindowState = FormWindowState.Minimized; e.Cancel = true; }但是不要使用Hide,因为Hide原创 2011-12-15 19:58:40 · 5415 阅读 · 0 评论 -
c# DllImport 错误处理的不足及解决办法
一般而言DllImport 是十分方便的,但是当出现错误时,他给出的错误也十分模糊,同时是不全面的。比如,之前就遇到一个第三方dll, DllImport 死活说找不到这个dll.但是我很确定错在这个dll,而且路径也对。没办法,只能做个vc调用尝试,然后vc调用得到了这个消息:这才发现,原来找不到的其实不是第三方dll,而是这个第三方另外调用的dll,但是原创 2012-03-01 22:54:15 · 3585 阅读 · 0 评论 -
c# 调用native vc dll 如何调试
在项目中主程序是 c# , 需要调用一些自己写的 VC DLL 组件,在VC DLL中需要调试,于是下了断点, 但是启动以后发现没有作用。后来网上查了查:http://blog.huolee.net/?p=47很简单,打开C#项目的属性页,在Debug页面中勾选: Enable unmanaged code debugging然后断点就可以工作了!vs调试做原创 2012-03-10 00:11:43 · 936 阅读 · 0 评论 -
c# 正则表达式中的一些解决方案
现在正在做一个语义提取比如从一个类中提取所有public的内容1.保证输入字符串是一个合法的类,以class xxxxx{开始 ,以 };结束2.保证每一个权限(public,private等)都是在新的一行开始^public\:([\w\W])+?((^\w+\:)|(;\z))最后一行表示: 可以是 另外的权限,比如pri原创 2012-03-12 01:21:17 · 582 阅读 · 0 评论 -
managed c 编写.net class , ref out
bool Register( ST^% Wrapper)这样就是 refbool Register( [out] ST^% Wrapper)这样就是 outbool Register( [out] ST^ Wrapper)这样啥都不是--_____--原创 2012-03-16 00:29:15 · 708 阅读 · 0 评论 -
C# 一些自己需要知道的事情
[ThreadStaticAttribute] static int currId;double dValue = unchecked( (double)nValue));Thread.Sleep和Timer性能比较应该是Thread.Sleep比较好http://www.cnblogs.com/dataflow/archive/2009/03原创 2011-12-30 11:20:38 · 796 阅读 · 0 评论 -
Queue<T> 需要注意的多线程冲突问题
最近在做一个AsyncEvent,内部使用了Queue,因为效率问题,所以不敢用lock,以为Queue也就push一个T,不用同步。结果今天就崩了,Queue.Enqueue 出错,提示很奇怪: Source array was not long enough. Check srcIndex and length , and the array's lower bounds.bing了一原创 2012-05-23 10:47:12 · 4748 阅读 · 0 评论 -
EF4.1 用 .net 4.0 编译
EF4.1 用 .net 4.0 编译如果用.net 4.5 编译 MaxLength 会找不到的原创 2012-05-25 01:50:12 · 630 阅读 · 0 评论 -
Delegate 与 Event 的一些问题
过去曾有人说过 Delegate 无法实现多播,其实并不是这样,System.MulticastDelegate 是Delegate 的基类,所以很明显,Delegate是可以支持多播的,相信许多人也是这样么用的。Event是一个特例化的Delegate , Event在本类中可以作为一个Delegate,实现CallEvent , 但是如果在子类中,就无法CallEvent,cs将告知原创 2012-06-21 02:19:27 · 960 阅读 · 0 评论 -
类中匿名函数如何从 event 中去除
匿名函数在各种event中如鱼得水的到处使用。可是 把attach 到 Event 中的这些匿名函数 detach 是一个恼人的问题。不建议在类的内部做一个 List , 这样会迅速把类复杂化。 而且这种做法也失去匿名函数的便捷和闭包。这里有一种方法 , 在 Event 的宿主类中 实现一个 ReleaseEvent(object target) 这个方法。 用户类需要det原创 2012-06-28 14:14:18 · 958 阅读 · 0 评论 -
如何使得控件不需要在操作UI时检查InvokeRequired
Download source - VS2005 - 54Kb第二个版本的介绍This is a new, extended, improved version of my original article. This was (and is) my first (and only until now) CodeProject article. It was well rated, b翻译 2012-07-03 15:20:41 · 5404 阅读 · 0 评论 -
C# VS 下的 Add Reference 并不一定可靠
一个外部的DLL挂载在 Project中后 , 一段时间要卸载,在Add Reference 中却怎么也找不到。无奈只得打开 csproject 文件,手动找到相关引用,删除。然后一切都正常了原创 2012-09-04 14:45:43 · 3215 阅读 · 0 评论 -
SQLite .net
SQLiteDataReader 需要 using否则其他无法读取而且 sqlite 判断表是否存在应该:string.Format("select count(*) from sqlite_master where tbl_name='{0}'" , strTable);tbl_name不是什么 table!!!原创 2012-09-04 16:23:55 · 639 阅读 · 0 评论 -
GetHashCode Equals 与 Dictionary , Hash , List 的关系
Dictionary , HashSet , List 都可以看到 Contains 之类的函数。比如 Dictionary.ContainsKey( keyTest ) 函数首先调用 keyTest.GetHashCode 比较是否已经有这样一个hashCode, 如果有,则直接返回true , 如果没有,还不能断定必然不存在这样一个key , 因为hashcode是有冲突的原创 2012-08-27 17:57:50 · 661 阅读 · 0 评论 -
MySQL 通过 C#访问的一些问题
1. MySQL 中不使用 单引号 , 而是用 ` ( 就是键盘左上角的那个~) , 这个不是单引号 ' 2. drop schema , drop schema3. 枚举表 string MyConString = "SERVER=localhost;" + "DATABASE=informati原创 2012-10-05 16:49:19 · 650 阅读 · 0 评论 -
c# 控件,自定义控件问题
1. FastColoredTextBox 中文重叠显示设置IMEMode = IMEMode.On 就可以正常显示和写入新的中文原创 2012-10-08 17:07:52 · 1557 阅读 · 2 评论 -
checkErrorStatus parameter is not valid
arg_graphics.FillRectangles(arrBrush[i], arrRCs[i].ToArray()); arg_graphics.FillRectangles(arrBrush[i], arrLines[i].ToArray());在调用Graphics函数 FillRectangles 时, 不定期会有异常 :原创 2012-10-21 22:37:00 · 3173 阅读 · 0 评论 -
ini 文件另存为 UTF-8 将无法使用 GetPrivateProfileX 系列读取
ini 文件另存为 UTF-8 将无法使用 GetPrivateProfileX 系列读取在C# 下无法读取, 只有设置成 Unicode 或者 ansi 才可以正常读取原创 2012-12-04 09:24:22 · 1658 阅读 · 0 评论