初识MFC,WinForm,WPF,Q't】的更多相关文章

MFC和QT是C++中常见的GUI框架,而WinForm和WPF是C#中常用的框架,不过我们一般很少叫WinForm框架,可能直接叫图形控件类库更多点.反正只是个称呼罢了,爱咋叫就咋叫.另外WinForm与WPF(即Windows Form与Windows Presentation Foundation,用于windows的上的桌面应用开发)都只是提供了一堆GUI类库,而MFC与QT除了一堆GUI类库外还提供了其他很多类.功能更强大.       应该说从符合我们思维习惯的角度来说WinForm…
MFC和QT是C++中常见的GUI框架,而WinForm和WPF是C#中常用的框架,不过我们一般很少叫WinForm框架,可能直接叫图形控件类库更多点.反正只是个称呼罢了,爱咋叫就咋叫.另外WinForm与WPF(即Windows Form与Windows Presentation Foundation,用于windows的上的桌面应用开发)都只是提供了一堆GUI类库,而MFC与QT除了一堆GUI类库外还提供了其他很多类.功能更强大.       应该说从符合我们思维习惯的角度来说WinForm…
编程语言的组成编程语言做为一种语言自然和英语这些自然语言有类似的地方.学英语时我们知道要先记26个字母,然后单词及其发音,接下来就是词组,句子.反正简单的说就是记单词,熟悉词法,句法.接下来就是应用了,听说读写.而使用相同语言的人大脑里都有个翻译器,可以把自己的想法翻译成语言然后用说或写表达出来,而听和读则把接收来的语言翻译成自己大脑能理解的思想. 那编程语言首先也是像英语一样会制定一些单词,然后词法,句法.像int ,char这样的类型关键字,或其他一些关键字就是单词.但这样的语言机器不认识的…
在新版本的BeetleX.FastHttpApi加入了对netstandard2.0支持,如果程序基于.NetFramework4.6.1来构建WinForm或WPF桌面程序的情况下可以直接把BeetleX的HTTP嵌入到程序中,轻易就能实现一个本地化的HTTP服务并提供静态资源和WebAPI的调用处理:以下简单地介绍在WinForm/WPF引入BeetleX.FastHttpApi的HTTP服务. 引用Beetlex 组件在1.4.5.8版本后加入了对netstandard2.0的支持,只需要…
Winform/WPF 中嵌入 office ppt(powerpoint)解决方案示: 1. 在winform中操作ppt,翻页.播放.退出:显示 总页数.当前播放页数 2. 启动播放ppt时录制视频,ESC退出后停止录制 3. 启动播放ppt直播推流,ESC退出后停止推流 4. 场外电脑桌面同屏传输,讲A电脑ppt画面传输至B桌面 QQ:505970935…
优雅的在WinForm/WPF/控制台 中使用特性封装WebApi 说明 在C/S端作为Server,建立HTTP请求,方便快捷. 1.使用到的类库 Newtonsoft.dll 2.封装 HttpListener HttpApi类 public class HttpApi { private static List<HttpListener> HttpListenerList = new List<HttpListener>(); /// <summary> ///…
提供PPT嵌入Winform/WPF解决方案,Winform/WPF 中嵌入 office ppt 解决方案 Winform/WPF 中嵌入 office ppt(powerpoint)解决方案示: 1. 在winform中操作ppt,翻页.播放.退出:显示 总页数.当前播放页数 2. 启动播放ppt时录制视频,ESC退出后停止录制 3. 启动播放ppt直播推流,ESC退出后停止推流 4. 录制电脑桌面.摄像头头像.声音保存为本地视频:   -- 适用于老师.医生.课件分享等5. 推流:讲演讲人…
后续来啦:Winform/WPF中快速搭建日志面板 继昨天发文ASP.NET Core 可视化日志组件使用(阅读文章,查看视频)后,视频下有朋友留言 "Winform客户端的程序能用它不?",微信也有朋友问能否嫁接到WPF上,站长今早尝试了,是可以的! 原理是将Winform或WPF 应用程序,宿主到ASP.NET Core Web API上,具体先来个小视频看看效果,想要代码直接往下面翻: [视频占位] 实战步骤: 创建一个 WPF 应用程序 添加ASP.NET Core.Seril…
利用午休时间继续把过去写的一些代码翻出来说一说,文章可能写的比较简略,但是我会努力把核心意思表达清楚,具体代码可直接访问 Github 获取. Github 地址:https://github.com/iccb1013/Sheng.Winform.Controls.Controller 这些代码是针对 WinForm 写的,但稍加改动即可应用于 WPF 开发中. 提到控制器,我们可能会首先想到流行的 MVC 开发中的控制器 Controller.对于 MVC 开发来说,我们把工程结构划分为 模型…
winform 当前的屏幕除任务栏外的工作域大小     this.Width = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width;     this.Height = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height; 当前的屏幕包括任务栏的工作域大小 this.Width=System.Windows.Forms.Screen.PrimaryScre…
1.Winfrom国际化处理方式 ==> Winform中国际化支持可将UI页面和.cs文件分开处理 处理窗体方式如下:1.选择Form窗体设置其--Language(默认中文--Default).Localizable(true)2.选择具体控件-->设置Text属性(重复1.2.操作即可支持国际化,会自动生成对应的资源文件) 处理.cs文件如下:1.选择项目添加资源文件(新建项-->常规-->资源文件,可多个),实际使用如下: MessageBox.Show("Tes…
(1):一些发布方式 ClickOnce是什么玩意儿,这个问题嘛,在21世纪的互联网严重发达的时代,估计也没有必要大费奏章去介绍了,弄不好的话,还有抄袭之嫌.因此,有关ClickOnce的介绍,各位朋友可以直接查找MSDN文档,或者看下面这里,这是百度百科上的,其实也是Ctrl + C版本.http://baike.baidu.com/view/1390498.htm 如果你对这些理论的东西不感兴趣,没关系,上面所提及的内容你完全可以无视之.我们只要知道,ClickOnce是一种应用程序部署方式…
在上一篇中,我们做了一个OCX控件,叫mfcActive.ocx,在这一篇我们要做的就是使用这个ocx控件.第一步:创建一个MFC的对话框工程(其实winform 也是一样的) 第二步:在工具箱中常规处右键选择项,在COM 选项中找到我们生成的OCX控件,点击确定.这个时候我们会看到在常规处出现了我们的控件 第三步:拖放我们的控件到窗体上,注册该控件的DbClick事件 第四步:实现该事件,我们调用该控件的唯一的方法Hello1方法. void CtestOCXDlg::DblClickMfca…
Winform // <summary> /// 复制或剪切文件至剪贴板(方法) /// </summary> /// <param name="files">需要添加到剪切板的文件路径数组</param> /// <param name="cut">是否剪切true为剪切,false为复制</param> public static void CopyToClipboard(string[]…
最近写了个小程序,用于将固态硬盘的写入量等信息显示在任务栏,最开始使用Windows API也可以实现,但是当任务栏托盘增加的时候,会被遮盖,最终采用了DeskBand来实现,填了很多坑. 参考的GitHub地址:https://github.com/dsafa/CSDeskBand DeskBand相关代码如下: COLORREF: // This code snippet was used by SharpShell. // using System.Drawing; using Syste…
国内社区没有,顺手转.WinForm: https://github.com/IgnaceMaes/MaterialSkin演示:https://www.youtube.com/watch?v=A8osVM_SXlg WPF:  https://github.com/ButchersBoy/MaterialDesignInXamlToolkit 值得一提的是,WPF 版本的不与 MahApps.Metro (https://github.com/MahApps/MahApps.Metro) 冲突…
很多时候,我们要实现Winform异步操作,你可以用传统的方法,但个人感觉代码不好理解,而且使用真有点不舒服.也可以用Task来实现,Task(.net4.0新添加的对象)其实就是对线程池线程的一个封装,里面功能比较多,也比较好操作,其他的不多讲,今天只讲异步操作,举个简单的例子吧: 先上个图:单击Go按钮,数字自动增加,比较简单.        直接上代码: public partial class Form1 : Form { private CancellationTokenSource…
WinForm 窗体显示位置 窗体显示的位置首先由窗体的StartPosition决定,FormStartPosition这个枚举值由如下几种情况 // 摘要: // 窗体的位置由 System.Windows.Forms.Control.Location 属性确定. Manual = , // // 摘要: // 窗体在当前显示窗口中居中,其尺寸在窗体大小中指定. CenterScreen = , // // 摘要: // 窗体定位在 Windows 默认位置,其尺寸在窗体大小中指定. Win…
WPF实现起来非常现代化,可以参考 https://www.cnblogs.com/yang-fei/p/4854460.html winform主要说一下实现过程和注意点,实现参考AutoUpdater.NET   https://github.com/ravibpatel/AutoUpdater.NET 1.首先建立全局资源,命名严格依据C# CultureInfo 规范,如下图 注意:新建立的全局资源需要手动拖到Properties下 全局的语言资源方法使用如下 语言使用的系统识别的 定义…
大家好, 我是等天黑, 今天给大家介绍一个功能完善, 性能强悍的图表组件库 ScottPlot, 当我第一次在 github 上看到这个库, 我看不懂,但我大受震撼, 这么好的项目当然要分享出来了. https://github.com/ScottPlot/ScottPlot ScottPlot 是一个 .NET 图表组件, 主要有以下特点: 适用范围广:同时适用于 WinForms, WPF, Avalonia, Console, 支持 .NET Framework 4.6.1 及以上, NE…
今天主要了解了Visual C++的开发环境Visual Studio(话说以前都是用来调试控制台程序的)和用mfc写了一个最简单的程序. 目前微软大力推广的开发环境就是vs,它的集成度相当高,方便程序员进行开发工作.vs就不说了.来说说如何建立一个最简单的mfc程序.首先新建项目->输入项目名Hello,然后对程序进行一些属性设置. 第一步应用程序类型类型选择为:基于对话框,然后项目类型选择为MFC然后点完成,一个简单的对话框程序框架就完成了.现在已经有了一个可运行的应用程序框架,接下来要做的…
最近,我给一家公司做了个电梯多媒体软件,该软件使用C#编写,现在我将其中遇到的问题及其解决方法总结一下,以便下次再遇到同样的问题可以快速解决:同时,也给博友分享一下,共同学习,共同提高. 1.Question:关闭窗体时出现“执行CreateHandle()时无法调用值Dispose()”的错误,如下图所示: Answer:原因是当前窗体的句柄还未创建完成,还存在CreateHandle()事件,还不能回收垃圾,还不能直接关闭窗体. 在执行窗体的Close方法时,加入判断语句,如下: if (…
MFC(Microsoft Foundation Classes),是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量.其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类. 具体连接:http://baike.baidu.com/view/10918.htm 以前学习了QT,现在来接触一下MFC................. Hello Wor…
https://www.codeproject.com/Articles/21062/Splash-Screen-Control https://www.codeproject.com/Articles/38291/Implement-Splash-Screen-with-WPF https://www.codeproject.com/Articles/6511/Transparent-Splash-Screen https://www.codeproject.com/Articles/1168…
[System.Runtime.InteropServices.DllImport("kernel32.dll")]        public static extern bool SetProcessWorkingSetSize(IntPtr proc, int min, int max);        public void FlushMemory()        {            GC.Collect();            GC.WaitForPendingF…
由于项目需要发送数据到网页 这里用aspx做测试 采用post以及get发送数据,页面进行数据  首先这个东西很简单很简单,基本上学过的都会,但是原谅一直搞cs几乎不搞bs的猿类吧.三四年没接触bs. 除了记录自己用意外.也希望能帮助别人 写程序与bs交互的处理webservice也没别的了.冷不丁的遇到了还抓瞎,只能网上搜罗然后测试在整理,在学习....... 希望帮助没接触过的,以及也是一直搞cs的猿类,请bs大神,高手,给出更多的解决方案 首先采用最简单的微软子提供的方式 aspx可以用r…
接上文: Windows 消息循环(1) - 概览 win32/MFC/WinForm/WPF 都依靠消息循环驱动,让程序跑起来. 本文介绍 WPF 中是如何使用消息循环来驱动程序的. 4 消息循环在 WPF 中的应用 4.1 引入 只听说过 Dispatcher ,哪里来的消息循环? 先瞧一眼 WPF 启动运行堆栈: 可以发现 PushFrameImpl 这个方法. 去看其源码,就发现了熟悉的消息循环 : 可以理解为:Dispatcher 对消息循环的操作进行了"封装" . 那,Di…
零基础ASP.NET Core WebAPI团队协作开发 相信大家对“前后端分离”和“微服务”这两个词应该是耳熟能详了.网上也有很多介绍这方面的文章,写的都很好.我这里提这个是因为接下来我要分享的内容和这个有些关联. 随着前端应用场景的繁荣,用户体验需求的提高,原先传统的后端渲染页面返回给前端展示的模式面临挑战.后端工作除了处理数据逻辑还得适应界面UI的业务,越来越不堪负重.前端的重要性逐渐体现出来,在这种情况下使用前后端分离模式开发的逐渐增多. 前端框架(比如Vue/Angular/React…
MFC 生成本机代码,自然是很快.可是,消息循环,减缓了界面显示速度.winform 封装了 win32 的api,多次进行P/invoke 操作 (大部分使用p/invoke操作封装),速度慢 .wpf是一种新的模型,不再使用win32 模型,自己新建模型,使用dx 作为新的显示技术,直接访问驱动程序,加快了运行速度,可是,这种模型,需要支持dx 9 的显卡,硬件要求高(你还能找到现代机器不支持dx9 的吗?)开发效率上,MFC<WPF<winform  尽管MFC开发界面执行效率高但是开发…
WinForm 在Windows中,诸如窗体绘制等功能由GDI(图形设备接口)实现,放在操作系统内核中.Windows Forms在底层使用的是GDI+.GDI+是GDI的“面向对象包装”,使用C++实现..NET Windows Forms应用程序中使用的GDI+其实是在C++实现的非托管代码之上又包了一层,从而让我们能使用C#这样的托管编程语言调用GDI+功能绘图. WPF WPF底层使用的是DirectX,(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口.由C…