使用C#调用mingw的动态库实现视频识别软件,程序通过C++调用opencv打开视频,将图像的原始数据以rgb24的方式传递给C#端,C#通过构造图像对象给控件赋值的方式显示图片. 一开始使用wpf的控件image: while (true) { S_IMG simg = Mingw.display(); //调用取图像函数 ; byte[] data = new byte[size]; Marshal.Copy(simg.pbuf, data, , size); Dispatcher.Inv…
Github 地址:https://github.com/iccb1013/Sheng.Winform.Controls 本控件库中的代码大约写于10年前(2007年左右),难免有不成熟与欠考虑之处,还请包涵. 升讯威 .Net WinForm 控件库提供了超过15种 Winform 控件,你可以直接使用本控件库,更可以通过本控件库学到 Winform 控件开发的方法和理念. 你可以学习到: > 如何基于 Control 类重头开始实现一个具备复杂功能的 Winform 控件: > GDI+…
WinForm控件开发总结(一)------开篇 WinForm控件开发总结(二)------使用和调试自定义控件 WinForm控件开发总结(三)------认识WinForm控件常用的Attribute WinForm控件开发总结(四)-----控件属性的串行化 WinForm控件开发总结(五)-----为控件的复杂属性提供类型转换器 WinForm控件开发总结(六)-----控件属性类型转换器代码详解 WinForm控件开发总结(七)-----为复杂属性的子属性提供编辑功能 WinForm…
升讯威 .Net WinForm 控件库提供了超过15种 Winform 控件,你可以直接使用本控件库,更可以通过本控件库学到 Winform 控件开发的方法和理念. 你可以学习到: 如何基于 Control 类重头开始实现一个具备复杂功能的 Winform 控件: GDI+ 绘图接口的使用方法,以及如何与用户的行为进行交互: 不同设计模式在 Winform 控件开发中的应用: 对于设计模式,很多人的观念是它是用来解决大型解决方案中的问题的,但是我们在这里可以看到,设计模式不仅仅用于分解大型工程…
一.发现问题 如果发送数据过快的情况下,ListVies滚屏显示数据时会显示闪屏,如下所示现象: 二.解决问题 根据出现闪屏的情况,在网上查了资料要使用双缓存的办法来处理.其原理是数据在缓存区中进行处理,处理之后再把结果显示出来. 自己先新定义一个ListViewBuff类: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Ta…
在我很早的WInform随笔<WinForm界面开发之"SplashScreen控件">有介绍如何使用闪屏的处理操作,不过那种是普通WInform和DevExpress都适用的方案,如果是基于DevExpress,那么可以使用更简便的方式,就是本文介绍的在DevExpress程序中使用SplashScreenManager控件实现启动闪屏和等待信息窗口,这个SplashScreenManager很好的封装了日常WInform程序中用到的启动闪屏窗口和在耗时操作中进行等待提示…
本文将讲解如何做一个类似MyEclipse启动画面的闪屏,为Java Swing应用程序增添魅力. 首先看一下效果图吧, 原理很简单,就是创建一个Dialog,Dialog有一个进度条和一个Label用来分别显示进度和进度信息,而Dialog的宽度和高度正是闪屏图片的宽度和高度.然后将闪屏图片贴到Dialog中作为整个窗体的背景,Dialog显示时覆盖闪屏所处的区域.由于Dialog显示时闪屏并没有消失,且Dialog的X.Y及宽高都与闪屏图片一致,因此实际切换时,非常流畅,用户感觉不到有异常,…
DevExpress中SplashScreenManager这个控件的主要作用就是显示程序集加载之前的进度条显示和进行耗时操作时候的等待界面. 一.SplashScreenManager控件的使用 1.新建一个Windows窗体,在工具栏中找到这个控件,把它拖放到Windows窗体中,开发工具默认会在窗体下边显示这个不可视控件. 2.SplashScreenManager控件只是作为加载界面的统一管理器,我们要使用加载界面,需要自行创建加载界面. 找到这个控件,点击右上角的三角图标,出现如下显示…
夏荣全 ( lyout(at)163.com )原文 C#中让控件全屏显示的实现代码(WinForm) 有时候需要让窗口中某一块的内容全屏显示,比如视频播放.地图等等.经过摸索,暂时发现两种可行方法,如果有谁知道其他方法,敬请告知 1.使用winapi “SetParent” 接口: [DllImport("user32.dll", SetLastError = true)] static extern IntPtr SetParent(IntPtr hWndChild, IntPtr…
方案1: 我昨天刚在csdn上解决了这个问题,不是双缓冲和WS_CLIPCHILDREN还有背景擦出什么的问题,就是在你重画的时候要去掉这些控件(按钮什么的)区域, 闪屏是因为窗口大小发生改变时,由于控件移动会有重影,因此对话框会去擦除背景,包括控件遮挡的地方,但是控件自己会去刷新,因此,解决方案可以在擦背景时去除控件位置背景的擦除. 关键代码如下,可以在onpaint 或者OnEraseBkgnd里面加入,灵活使用吧 GetDlgItem(IDC_BUTTON1)->GetWindowRect…