首页
学习
活动
专区
圈层
工具
发布

桌面软件开发框架大赏

500K左右,非常赞, 它有自己的自绘引擎,用的是OpenGL, 但它的重绘机制是按区域重绘的,如果组件A所在的区域上存在组件B,那么A组件重绘时,会把B组件的给重绘掉,开发者必须自己写代码处理这种情况...它是.NET平台下的GUI框架,有自绘引擎,对C#开发者很友好,界面依然是用XAML描述的,可能很多人一听到XAML就直接弃坑了。...使用flutter-desktop开发的应用程序打包后体积还比较大 webview2 https://developer.microsoft.com/zh-cn/microsoft-edge/webview2...ImGui https://github.com/ocornut/imgui 这个GUI框架的实现原理和开发方式可谓独树一帜 它在一个无限循环里不断的重绘整个界面, 别的GUI框架都是哪里更新了重绘哪里...,它是无论有没有更新,一股脑全部重绘,而且一直在重绘, 这样做对于一些不支持GPU的客户端来说CPU消耗会略高一些,不过总起来说还算好 它对游戏开发者很友好,很多游戏都集成它来做用户交互(游戏内的一些设置界面

7.8K31

.NET混合开发解决方案11 WebView2加载的网页中JS调用C#方法

系列目录     【已更新最新开发文章,点击查看详细】 WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介...控件的导航事件 .NET混合开发解决方案10 WebView2控件调用网页JS方法   在我的博客《.NET混合开发解决方案10 WebView2控件调用网页JS方法》中介绍了C#调用网页中定义的JavaScript...方法以执行某种业务逻辑,同样WebView2控件中加载的网页中自定义的JavaScript方法中也可以调用C#方法。   ...WebView2控件通过将对象传递到Web网页,使应用程序能够弥合web和本机应用程序(客户端程序:WinForm、WPF、WinUI、Win32)之间的鸿沟。...使用主机对象调用C#方法,由于调用过程是异步的,所以需要使用 await,方法定义前需要加上 async。 以上三步完成后即实现了JS访问C#方法。

12K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    .NET混合开发解决方案12 网页JS调用C#方法访问WinForm或WPF窗体

    系列目录     【已更新最新开发文章,点击查看详细】 WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介...控件的导航事件 .NET混合开发解决方案10 WebView2控件调用网页JS方法 .NET混合开发解决方案11 网页JS调用C#方法   在前一篇博客《.NET混合开发解决方案11 网页JS调用C...但是在企业级应用软件中业务需求可能更加复杂,如JS调用C#方法之后,需要访问宿主的窗体,设置窗体(WinForm、WPF、WinUI、Win32)中的控件等。...C#接收到参数后,调用WinFrom窗体中定义的方法,将num1与num2作为参数传入,并将计算结果显示在窗体控件上。 先看一下示例效果 下面详细介绍其实现步骤。...使用主机对象调用C#方法,由于调用过程是异步的,所以需要使用 await,方法定义前需要加上 async。 以上四步完成后即实现了JS访问窗体方法。

    3K40

    .NET混合开发解决方案24 WebView2对比CefSharp的超强优势

    系列目录     【已更新最新开发文章,点击查看详细】 WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介...控件 .NET混合开发解决方案8 WinForm程序中通过设置固定版本运行时的BrowserExecutableFolder属性集成WebView2控件 .NET混合开发解决方案9 WebView2...控件的导航事件 .NET混合开发解决方案10 WebView2控件调用网页JS方法 .NET混合开发解决方案11 网页JS调用C#方法 .NET混合开发解决方案12 网页JS调用C#方法访问WinForm...WinForm程序编译后的文件及结构说明 .NET混合开发解决方案16 管理WebView2的用户数据 .NET混合开发解决方案17 清除WebView2的缓存记录 .NET混合开发解决方案18...第一次使用了CefSharp组件,集成开发结束后,测试及使用过程中遇到了一些无法处理的bug及严重的性能问题。

    4.1K20

    .NET混合开发解决方案4 WebView2的线程模型

    (1)双击模型节点创建Tab页签,页签中使用WebView2控件加载网页,渲染对应的模型。...第2441行代码,将模型与对应的WebView2控件加入集合中,用于在下面的第2个业务场景中。...如果WebView2应用程序试图在WebView2事件处理程序中同步创建嵌套的消息循环或模式UI,这种方法会导致尝试重新进入。...,若要获取用于调试的完整调用堆栈,必须为 WebView2 应用启用本机代码调试,如下所示: 在Visual Studio中打开 WebView2 项目。...相反,如果显式调用Complete()的代码,但在完成调用之前引发了异常,那么延迟直到一段时间后才完成,此时垃圾收集器最终会收集并处理延迟。在此期间,WebView2会等待应用程序代码处理事件。

    4.2K30

    .NET混合开发解决方案14 WebView2的基本身份验证

    控件的导航事件 .NET混合开发解决方案10 WebView2控件调用网页JS方法 .NET混合开发解决方案11 网页JS调用C#方法 .NET混合开发解决方案12 网页JS调用C#方法访问WinForm...WebView2 控件实例引发事件。 WebView2 控件位于 HTTP 服务器和主机应用之间。 WebView2 控件充当主机应用和 HTTP 服务器之间通信的中介。 编写主机应用。...属性 Response 是包含用户名和密码属性的对象。 导航事件流程 下图显示了 WebView2 应用的基本身份验证的导航事件流: 主机应用指示 WebView2 控件导航到 URI。...主机应用通过向 WebView2 控件提供用户名和密码来响应该事件。 WebView2 控件再次从 HTTP 服务器请求 URI,但这次使用的是身份验证 (用户名和密码) 。..."服务器为 WebView2 控件提供文档"导航。   第一种类型的导航后,服务器要求进行身份验证,并且应用需要再次尝试这种导航 (使用新的导航 ID) 。

    2.4K20

    .NET混合开发解决方案10 WebView2控件调用网页JS方法

    系列目录     【已更新最新开发文章,点击查看详细】 WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介...5 WebView2运行时与分发应用 .NET混合开发解决方案6 检测是否已安装合适的WebView2运行时 .NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2...控件的导航事件   客户端程序(WinForm、WPF、Win32、WinUI)集成WebView控件加载Web完成后,还有两种常见的需求 C#调用JS方法 执行通用方法,设置网页特效。...调用网页中定义的JS方法,执行计算等。 JS调用C#方法 本文讲解第一种需求的实现方式。...WebView2控件加载网页后,如果将一个文件(如:script.js、script.txt等)拖拽到WebView2控件上,将自动执行文件,效果如下 可以通过webView.CoreWebView2

    3.9K20

    WPF开发-使用WebView2加载页面及页面交互

    WebView2 WebView2和CEF相比,在WPF中CEF相当于把渲染的界面生成图片再加载,而WebView2则没有这一步,性能有显著提升。 但是这种方式暂时没有找到支持Flash的方法。...Edge(Chromium) 性能强悍,而且所有使用 WebView2 的应用可以共用一个运行时(说人话就是一个安装了应用时,其他应用就不用装了)。...WebView2是依赖于Edge chromium内核的,有如下三种方式可以获取: 安装开发版的Edge (Chromium),稳定版的Edge目前不支持WebView控件,不知道后续会不会开放。...程序内嵌入Edge chromium内核 这三种方式运行效果基本一致,主要特点是: 前两种方式和以前使用IE的浏览器控件非常类似,浏览器内核和程序是分离的,程序可以保持非常小的体积,浏览器内核可以单独升级...WebView2 Name="webView" Source="https://www.psvmc.cn"/> 判断运行时是否安装 注意 建议专门一个页面进行检测,检测成功后再跳转到展示页面

    10.8K21

    .NET混合开发解决方案16 管理WebView2的用户数据

    控件的导航事件 .NET混合开发解决方案10 WebView2控件调用网页JS方法 .NET混合开发解决方案11 网页JS调用C#方法 .NET混合开发解决方案12 网页JS调用C#方法访问WinForm...WinForm程序编译后的文件及结构说明   在我的博客《.NET混合开发解决方案15 WebView2控件集成到WinForm程序编译后的文件及结构说明》中介绍了将WebView2控件集成到WinForm...程序中编译后的文件及结构信息 当运行WinForm程序并使用WebView2控件加载网页后 应用程序目录中又多了一个目录“XXXX.WebView2”,其中XXXX是应用程序的名称 这个目录就是WebView2...控件运行后产生的针对本项目的用户数据文件夹。...通常,如果主机应用具有多个 WebView2 控件实例,则主机应用应将 WebView2 的所有实例指向同一 UDF。   每个具有 WebView2 控件实例的主机应用都将有自己的 UDF。

    3.2K30

    .NET混合开发解决方案13 自定义WebView2中的上下文菜单

    系列目录     【已更新最新开发文章,点击查看详细】 WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介...控件的导航事件 .NET混合开发解决方案10 WebView2控件调用网页JS方法 .NET混合开发解决方案11 网页JS调用C#方法 .NET混合开发解决方案12 网页JS调用C#方法访问WinForm...或WPF窗体 Edge浏览器中的网页,点击鼠标右键,出现上下文菜单及子菜单,如下图 WebView2控件加载网页后,鼠标在网页上点击右键,也会出现上下文菜单,如下图 对比可以看出WebView2控件中的右键上下文菜单内容比...上下文菜单 属于 WebView2 控件的默认上下文菜单 (右键单击菜单) 或自定义上下文菜单 (右键单击菜单) 属于主机应用。...请求上下文菜单的坐标,以便应用可以检测用户右键单击的 UI 项。 坐标是根据 WebView2 控件的左上角定义的。 包含所选上下文类型的选择对象 和相应的上下文菜单参数数据。

    3.9K20

    微软的混合开发解决方案 WebView2

    混合开发 我们都知道对于桌面应用开发来说,人们常用的方式就是采用c++或者c#,java等进行开发,然而这些语言开发效率不够高,不如网页开发灵活。...webview2 webview2是微软推出的一组控件,它可以让本地应用程序轻松嵌入web技术。WebView2 控件使用Microsoft Edge作为呈现引擎在本机应用程序中显示 Web 内容。...使用 WebView2,您可以将 Web 代码嵌入到本机应用程序的不同部分,或在单个 WebView 实例中构建所有本机应用程序。 Webview2 应用程序允许广泛的覆盖范围。...webview2 由来 之所以称为 WebView2,是因为它取代了 WebView 控件,而后者又取代了 WebBrowser 控件,老派 Win32 开发人员可能还记得。...WebView 使用原始的 Edge (Trident) 渲染引擎,是 Windows10 唯一的控件。WebView2 使用较新的 Edge 渲染引擎,并支持更多 Windows 平台。

    2.6K50

    手把手教使用c#开发一个windows动态桌面程序使用视频作为桌面

    先了解一下基础知识,在C#中,我们不能直接获取窗口控件的句柄,因为C#是托管语言,不直接支持低级别的Windows API函数。...在nuget中搜索Microsoft.Web.WebView2安装到项目中,Microsoft.Web.WebView2是一个允许你将Web技术(HTML、CSS和JavaScript)嵌入到本机应用中的控件...WebView2可以让你在本机应用的不同部分嵌入Web代码,或在单个WebView实例中生成所有本机应用。使用WebView2,你可以快速创新Web开发并允许快速部署和迭代。...代码共享可以增加跨多个平台的重用,而Microsoft提供支持并添加新功能,以帮助你固定版本分布并选择在应用中打包特定版本的Chromium位。你还可以使用WebView2来添加Web组件到应用中。...要开始使用WebView2控件生成和测试应用,你需要安装WebView2 SDK。

    1.7K10

    【愚公系列】2023年12月 GDI+绘图专题 图形图像的重绘

    欢迎 点赞✍评论⭐收藏 前言 图形图像的重绘是指在对图形或图像进行修改后,需要重新绘制该图形或图像以反映修改后的结果。...重绘可以在屏幕上直接进行,也可以在内存中进行,最后再将修改后的图形或图像显示在屏幕上。 在计算机图形学中,图形图像的重绘通常是使用图形库或绘图软件完成的。...这些工具提供了各种绘制工具和绘制函数,能够快速、准确地绘制出修改后的图形或图像。在重绘时,需要注意如下几个方面: 及时重绘:在进行修改后,应该及时对图形或图像进行重绘,否则用户可能看不到修改的结果。...例如,你可以通过 ControlStyles.ResizeRedraw 样式来启用在调整控件大小时重绘控件。...用法:通常与 Invalidate 方法一起使用,以立即触发控件的重绘。这在需要即时响应用户操作时非常有用。

    60711

    .NET桌面程序集成Web网页开发的十种解决方案

    控件3:Microsoft Edge WebView2【强烈推荐】 Microsoft Edge WebView2 控件允许在本机应用中嵌入 web 技术(HTML、CSS 以及 JavaScript...WebView2 控件使用 Microsoft Edge(Chromium) 作为绘制引擎,以在本机应用中显示 web 内容。...使用 WebView2,可以在本机应用的不同部分嵌入 Web 代码,或在单个 WebView 实例中生成所有本机应用。...下图是在Winform程序中使用WebView2组件加载我的博客园页面的效果 控件4:CefSharp   CefSharp是一种将功能齐全的符合标准的web浏览器嵌入C#或VB.NET应用程序的简单方法...它是用C#写成的,里面有大量的C#的注释,geckofx是最完美的默认的iE核心webbrowse控件的替代控件。

    3.9K11

    【Android 性能优化】布局渲染优化 ( 过渡绘制 | 自定义控件过渡绘制 | 布局文件层次深 | GPU 过渡绘制调试工具 | 背景过度绘制 )

    文章目录 一、 过度绘制 二、 过度绘制两种情况 ( 自定义控件 | 布局文件 ) 三、 过度绘制调试 1. 打开过渡绘制调试工具 2. 过渡绘制调试中不同颜色的含义 3...., 很明显先刷的两遍是无用的 , 但是耗费了很多时间 , GPU 的过渡绘制也是这个原理 , 底层绘制了很多重叠覆盖的图像 , 花费了时间最终并不展示给用户观看 ; 二、 过度绘制两种情况 ( 自定义控件...| 布局文件 ) ---- Android 中 GPU 过度绘制情况 : 自定义控件 , 布局文件 ; ① 自定义组件 : 在自定义 View 组件中 , 实现的的 onDraw 方法使用 Canvas...过渡绘制调试中不同颜色的含义 组件上各个颜色代表的含义 : 打开过渡绘制调试工具后 , 组件上有不同的颜色 ; ① 蓝色 : GPU 过度绘制了 1 次 , 没有过渡绘制 ; ② 浅绿色 : GPU...-- 布局渲染时, 不设置主题背景, 避免过度重绘 --> null

    2.9K20

    .NET WinForms + WPF 综合学习路线:从传统到现代的.NET桌面开发

    第一阶段:打下坚实基础 (1-2周) 目标:掌握C# 核心语法和面向对象编程,这是学习任何.NET UI框架的前提。...、接口 .NET 基础 .NET平台基本概念 常用基础类库的使用 学习建议:此阶段专注于控制台应用程序练习,不涉及UI,打好编程基础。...Visual Studio WinForms设计器界面 核心学习内容: 可视化设计器操作 Form窗体的属性和事件 工具箱控件的拖放使用 属性窗口的设置方法 常用控件掌握 // 事件处理示例 private...样式与模板 <!...嵌入现代Web UI WPF使用Windows社区工具包的新控件 技术选择指南 技术选择决策流程图 框架选择总结: 应用场景 推荐框架 关键理由 企业级复杂应用 WPF 数据绑定强大,MVVM架构,长期可维护性

    41710

    winform制作圆形进度条好用的圆环圆形进度条控件和使用方法

    【创建圆形进度条流程】 在C# WinForms应用程序中创建一个圆形进度条(通常用作仪表盘的显示)可以通过多种方式实现。...if (value > 100) value = 100; _progress = value; Invalidate(); // 触发重绘...,你可以根据自己的需求调整样式、颜色、字体等属性,甚至添加动画效果。...如果你需要更复杂的仪表盘控件,可能需要考虑使用第三方库或自定义绘制更复杂的图形元素。...【圆形进度条控件】 圆形进度条控件制作是是否考验自己编程能力如果有开源免费的圆形进度条就很好了,偶然发现一个好用圆形进度条控件,支持圆形、圆环等指定圆形进度条创建,使用十分简单就跟C#里面trackbar

    53400
    领券