2022-10-31 19:51:31
勇哥注:
一般我们通过使用windows的任务管理器来分析软件的性能问题。
通过cpu占用率、cpu时间、线程数量、句柄数量几个关键参数来分析软件存在的内在泄露、
暴句柄、吃cpu等等问题。
这里我们来研究一下vs自带的性能分析工具,勇哥之前也没有接触过。
因此此篇我与大家共同学习。这一篇讲“内存使用率”工具。先提供一段存在内存泄露的代码。 private void button2_C...
2022-10-28 16:22:32
勇哥注:
一般我们通过使用windows的任务管理器来分析软件的性能问题。
通过cpu占用率、cpu时间、线程数量、句柄数量几个关键参数来分析软件存在的内在泄露、暴句柄、吃cpu等等问题。
这里我们来研究一下vs自带的性能分析工具,勇哥之前也没有接触过。因此此篇我与大家共同学习。(一)先看下怎么启用vs的性能分析工具。首先,调试菜单选择“性能探查器"。点击 之后会出现下面的界面。这...
2022-10-28 15:02:20
今天遇到一个C#的Crash,用windbg打开dump,加载sos之后一看,在4号线程出了一个System.InvalidOperationException,在这个地址上调用!pe。可以看到如下的异常信息:12345Exception object:Exception type: System.InvalidOperationExceptionMessage: The calling thre...
2022-10-28 10:59:34
勇哥注:
一个winform窗口,被Show()后是非模态窗口,被ShowDialog()是模态窗口,这个知识是无人不晓的。
但是,有些时候,会产生弹出窗口卡死、阻塞显示、无法置顶的诸多问题。
这一篇和勇哥一起研究一下这些现象。先来看下现象:下面的form是由Show()方法弹出来的。屏幕产生了阻塞显示的现象。看下任务管理器,提示这个弹出winform是“无响应”的。如果你此时去操作调用者的...
2022-10-28 10:18:48
Win32下的windows API SendMessage,在用户模式下发送是无效的。现象就是你怎么发送,对方的程序就是收不到。窗口句柄什么的、程序都没问题的。这个时候,你得把C#程序系统用户级别提升为windows管理员级别,才可以解决问题。方法是在你的引导工程这边,引入app.mainifest进行windows账号配置这个文件打开后,是下面这样的:我们只需要按提设置下面这句: <r...
2022-10-26 09:12:19
勇哥注:
C#的 DataGridView控件功能强大。许多知识点会常用常忘记,在这里做个记录吧,以方便查询。
阅读此文需要你对此控件有初步的认识。
另外一点,不要以为它只是用于显示数据的表格,要打破这种认知。未完待续。。。。(十) DataGridViewButtonColumn 怎么设置显示内容。2022/11/16 添加:DataGridViewButtonColumn 是按钮项。用下...
2022-10-24 20:44:09
勇哥注:
BackgroundWorker是标准的更新软件界面的一个组件。
它可以用于软件启动界面、刷新IO表、刷新界面硬件实时数据、相机的实时采集模式等等这样的应用中。
这些应用的特点就是后台执行一组耗时操作,而ui又需要实时更新后台操作的进度或者结果信息。
此组件常用常忘,因此留文备查。一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用B...
2022-10-24 16:08:16
此篇是勇哥的随记,很多疑问,和猜测,可能不准确,但是网上也搜不到相应的资料。各位看客如果发现有问题请指正。。。。(图1)今天发现我开发的通用运动软件,在一台比较差的电脑配置上面。cpu占用率为0, cpu时间基本不动。然而在一台i9电脑上面,此电脑比较牛B,是可以用来做深度学习的。同样跑通用运动软件。cpu占用率在2%-4%, cpu时间跟北京时间的秒数差不多快。勇哥一直以为,同样的软件,cpu越...
2022-10-24 09:02:06
由于原书是基于java,这里勇哥改为C#版本。先引入第一章的开篇例子。需求如下:需求:
影片出租,计算每一位顾客的消费金额并打印详单。
操作得告诉程序:顾客租了哪些影片、租期多长,程序便根据租赁时间和影片类型计算出费用。
影片分为三类:普通片、儿童片和新片。
除了计算费用,还要为常客计算积分,积分会根据影片种类是否新片而不同。
Movie 影片类
Rental 租赁类
Cu...
2022-10-23 11:07:51
C#的 datagridView控件功能强大其中单元格类型可以是按钮、下拉框、选择框、文本框。做为选择框时 即单元格为 DataGridViewComboBoxColumn 类型。这种类初始化时设置内容是容易的,如下: DataGridViewComboBoxColumn MotionMethodList = new DataGridViewComboBoxColumn(...
2022-10-21 20:51:18
如下图所示,我们在远程端看到设置为“禁止传送文件”。然后你拼命鼠标点击这个图标,想取消禁止,但是没用,这个图标根本不响应鼠标的动作。网上根本找不到答案是吧。勇哥告诉你吧!先鼠标点一下这个图标,然后按空格键就行了!...