随笔分类 - c#
摘要:1. c#容器。及性能比较。 https://blog.csdn.net/chen8238065/article/details/47018271/ 2. IList list 3. AddRange() 4. var关键字 5. list的linq操作 https://www.cnblogs.co
阅读全文
摘要:可查看该篇博客,有详细入门: https://www.cnblogs.com/nsky/p/4479850.html 1.安装引用sqllite的相关dll即可。 2.Sqllite工具使用Navicat for sqllite。 3.链接语句和sql server相似。
阅读全文
摘要:问题情境: webbrowser可以正常加载html页面了,需要和js相互传参。有个前提,c#程序和html不要直接影响(自己悟),所以直觉想法是通过中间介质进行传输,而想法第一个介质便是文件。如果没有这个直接影响的前提,可以通过函数传参,也可以通过隐藏控件等等。 思路解析: 1.先实现通过json
阅读全文
摘要:附代码: public static void readWriteJson() { try { string path = Application.StartupPath + @"\data.json"; StreamReader streamReader = new StreamReader(pa
阅读全文
摘要:问题情境: html界面用浏览器直接打开正常,使用c#自带webbrowser打开报错(具体是js脚本相关错误) 疑难辨析: 对症下药,报错内容虽是js脚本错误,但应该知道js,html相关代码都准确无误,因为在浏览器打开正常。 考虑到webbrowser内核版本和系统自带ie浏览器版本有差别,所以
阅读全文
摘要:问题情境: 上司对自己的关怀,称现有的画圈圈区域不太理想,需要有: 可拖拽移动圆的位置, 滚轮可以控制大小, 边界也可以通过拖拽调整圆的长轴短轴调整大小。 原理描述: 1.画形状容易实现; 2.调整大小通过整个窗体的鼠标move事件。来进行实时刷新显示; 3.拖拽移动位置用mousedown事件和M
阅读全文
摘要:问题情境: 需要完全复制(深拷贝)另一个实例,以保留现有的对象作后续处理等作用。 原理综述: 对象的浅拷贝仅需在该类中添加一个方法: 深拷贝有几种: 针对可序列化([Serializable])的类,可以声明利用二进制或序列化进行拷贝的方法。网上有我不再赘述。 不方便序列化的类,利用反射。具体做法见
阅读全文
摘要:情景描述: 在之前文本框中加标签,代码直接addPicture出现了意外。不起作用,怀疑是文档模板的问题,因为生成的PDF和word格式总时不时有差异,左右捣鼓下,更换文本框,更换图片形式,形状形式,放成最大,布局格式调整,绝对位置调整,都不行。 原理描述: 在文档行不通的时候,或者可以把文档模板重
阅读全文
摘要:1.应用directx图形库进行开发; 2.代码: 调用代码: 3.需要引用directx的程序集,下载连接(含项目): 链接:https://pan.baidu.com/s/1D4wrHC7c2Pg1wpWXlrLrSA 提取码:7f6w 4.注意调用Microsoft.DirectX.dll时候
阅读全文
摘要:1.问题情景: 需要保证已安装.net core SDK,并且命令提示符下运行“dotnet --version”,有反应。 如果之前运行良好,现在却不行了,查看安装程序中存在.net core SDK,但dotnet不管用。直接在控制面板中的程序列表中修复该应用,然后重启cmd,试试。 2..cs
阅读全文
摘要:c# 异步调用之异步模式Func<string, IImageRequest, string> downloadString = (address, req) => { var client = new WebClient(); foreach (var header in req.Headers) { client.Headers.Add(header.Key, header.Value); }
阅读全文
摘要:废话不多言,直接代码:
阅读全文
摘要:1.c#的异步实现,之前代码编写大都开几个线程。 现可以使用“async+await”方式实现异步(具体不详细介绍,暂且止在会用,仅仅是c#更新史上一个工具): 2.委托函数 旧的使用方法:需要先定义委托类型,然后定义一个符合委托类型签名的函数,在调用前,需声明并创建委托对象,将指定函数与委托进行关
阅读全文
摘要:转载:https://www.cnblogs.com/idben/p/3783997.html WM_NULL = 0x0000; WM_CREATE = 0x0001;应用程序创建一个窗口 WM_DESTROY = 0x0002;一个窗口被销毁 WM_MOVE = 0x0003;移动一个窗口 WM
阅读全文
摘要:解决办法: EnableHeaderVisualStyles设为false
阅读全文
摘要:应用场景: dataGridView需要某一个cell变成下拉框样式。 思路详解: dataGridVie添加固定格式的row。 代码: 下拉框事件代码: 难点: 1.注意dataGridView属性readOnly,设成false(界面模板设置))。要不然下拉框不显示。如果需要不可编辑,可以设定单
阅读全文
摘要:问题情境: 需要给下拉框每一个下拉项注释tooltip。 思路解析: 1.简单做就是每一次下拉框选值改变时,给combobox的tooltip进行替换。缺点是提示不够友好。 2.结合tooltip可以指定位置显示的属性,在drawItem事件中分情况特定显示。 具体代码: ToolTip toolT
阅读全文
摘要:直接上代码: private void button1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { FormWaiting formWaiting = new FormWaiti
阅读全文
摘要:以txt写string举例,正确代码如下: 1.sw.flush(),sw.close()用了之后,fs.flush(),fs.close()会报错: StreamWriter的关闭,也会关闭stream,也就是关闭了FileStream。所以关闭StreamWriter即可。 2.flush函数作
阅读全文
摘要:问题情境: 程序随着时间运行,越来越大。暂时想到的两种方法,一是反攻代码,查看占内存大的函数,是不是没有回收。再就是暴力设定程序定时重启。 解决原理: 定时重启:暂设定timer,时间匹配执行restart。 源码: 注意问题: 1.考虑到,程序重启之后会不会再次重启。上述例子中timer间隔时间为
阅读全文