展开

关键词

C# (类型、对象、线程栈和托管堆)在运行时的相互关系

在介绍运行时的关系之前,先从一些计算机基础只是入手,如下图: ? 简单的方法执行前运行时会先执行"序幕"代码,在方法开始前对其进行初始化,然后会执行"尾声"代码,在方法做完工作后对其进行清理,以便返回至其调用者.M1方法开始执行时,它的"序幕"代码在线程栈上分配局部变量的

68770

客户端软件GUI开发技术漫谈:原生与跨平台解决方案分析

WPF 基于XML+C#+CSS的呈现方式让它在UI上有了更加灵活的设计宽度 WPF和WinForms是两种完全不一样的UI技术,WPF也并不能完全取代WinForms。 本质都是对原生API做了一层C#的封装,因此在使用上与原生API会十分相似。这种封装会结合一些C#的语法特性,让开发者可以享受C#的语法糖。 Xamarin.Android被编译成中间语言,Xamarin在APK安装包中会包含一个mono(跨平台的.NET运行环境),代码是在mono运行时和安卓本地的运行时上完成工作的。 使用 Visual Studio 在 C# 中编写跨平台应用程序。  Xamarin 允许在每个平台上创建本机 UI,并在 C# 中编写跨平台共享的业务逻辑。 Dart可以作为 embedded lib嵌入应用,而不用只能随着系统升级才能获得更新,这也是优势之一。 Skia是什么?

57530
  • 广告
    关闭

    腾讯云校园大使火热招募中!

    开学季邀新,赢腾讯内推实习机会

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

    Matlab上位机开发(一) —— 了解上位机

    上位机的作用 在嵌入式项目开发中,无论是单片机项目、嵌入式Linux项目、FPGA项目,上位机始终是一个很重要的部分,主要用于: 数据显示(波形、温度等) 用户控制(LED,继电器等) 文件传输(图像、 常用上位机开发方式 上位机软软件开发主要包括以下两种: Windows上位机(基于串口通信) WinForm或者WPFC#) 在Windows上,最早用VB语言开发,后来由于C++的发展,采用MFC开发 ,再后来微软发布了基于.NET框架的面向对象语言C#,更加稳定安全,再配合微软强大的VS进行开发,效率奇高; c#和Java的语法类似,WPF相较于WinFormden优势在于,可以使用xml语言编写更加炫酷的界面 并且可以图形化开发; Matlab 多适合于需要上位机进行信号处理的项目,比如本身掌握Matlab中基本信号处理的科研人员,只需要使用下位机(Arduino)来读取ADC的数据并发送到PC进行处理,还可以进行图像处理 C#上位机开发教程 ? 地址:https://blog.csdn.net/mculover666/category_8632945.html 3.2.

    1.9K10

    C#开发BIMFACE系列52 CS客户端集成BIMFACE应用的技术方案

    在我的博客《C#开发BIMFACE系列49 Web网页集成BIMFACE应用的技术方案》、《C#开发BIMFACE系列50 Web网页中使用jQuery加载模型与图纸》、《C#开发BIMFACE系列 CefSharp【推荐】   CefSharp是一种将功能齐全的符合标准的web浏览器嵌入C#或VB.NET应用程序的简单方法。 它是用C#写成的,里面有大量的C#的注释,geckofx是最完美的默认的iE核心webbrowse控件的替代控件。 DotNetBrowser   DotNetBrowser能嵌入一个基于Chromium的WPF或WinForms组件到你的.NET应用中,用来显示使用HTML5、CSS3、JavaScript、Silverlight 运行WebView2时,首先需要下载并 WebView2 运行时安装程序。

    11310

    总结一些我在开发WPF时常用的工具

    热重载 XAML热重载允许您在应用程序运行时更改XAML代码,从而帮助开发者构建WPF或UWP应用程序用户界面。 实时可视化树和实时属性资源管理器 开发者可以使用“实时可视化树”和“实时属性资源管理器”实时地查看正在运行的XAML代码。 这些工具为开发者提供正在运行的XAML应用程序的UI元素的树视图,并向开发者显示所选择的任何UI元素的运行时属性。 ? 2. Blend for Visual Studio ? Snoop Snoop是一个开源的WPF UI探索工具,它可以浏览正在运行的WPF程序的可视树、改变它的属性、查看Triggers、设置断点等。 9.结语 这篇文章主要介绍我开发WPF时常用的工具,其它还有些VB.NET To C#的代码转换器、SVG TO XAML、和PNG TO ICO等在线工具,都是用到时再网上搜的。

    85030

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

    但是在安装的时候64位的Win7竟然无法安装32位的WebView2 运行时,所以建议64位的就安装64位的运行时。 官方教程 https://docs.microsoft.com/zh-cn/microsoft-edge/webview2/get-started/wpf 安装运行时 WebView2 实在诱人,最新的 程序内嵌入Edge chromium内核 这三种方式运行效果基本一致,主要特点是: 前两种方式和以前使用IE的浏览器控件非常类似,浏览器内核和程序是分离的,程序可以保持非常小的体积,浏览器内核可以单独升级 第一种方式目前还不支持Edge的稳定版,无法使用于生产环境 第三种方式和以前的CEF比较类似,将chromium嵌入了程序,可以控制chromium的版本,减少依赖性,同时可以控制浏览器的版本,避免升级导致的不稳定 /> 判断运行时是否安装 注意 建议专门一个页面进行检测,检测成功后再跳转到展示页面。

    75410

    WPF自学入门(一)WPF-XAML基本知识

    3、在WPF中,XAML运行在CLR之上,但它不编译为IL,而是编译为BAML代码,在运行时会被解析成CLR类型(Types)。 4、WPF中XAML是大小写敏感的。 开始WPF的Hello World基本语法解析。 新建WPF项目 ? 项目默认文件结构,引用中导入了如下4个wpf开发必备的dll,这也是xaml中默认的命名空间。 ? 下面的代码就是一个对象元素,运行时会被解析为一个Button对象实例。 ? 运行效果 ? 2、Attribute赋值语法 2.1 普通字符串赋值。 TypeConverter使用C#的Attribute技术来实现的。 在WPF中有逻辑树(Logical Tree)和可视树(Visual Tree)的概念,在运行时会维护这两棵树。逻辑树是以我们看到的控件为节点的,逻辑树表示UI的核心结构。

    1.3K10

    Silverlight概要

    原文: http://silverlight.net/GetStarted/overview.aspx Silverlight 运行时 目前,Silverlight有两个运行时可以让用户体验到Silverlight Silverlight 2.0 beta1主要支持.net语言如Visual C#、Visual Basic。 AJAX 支持 跨浏览器 (Firefox, IE, Safari) 跨平台 (Windows, Mac) 框架语言 (Visual Basic, Visual C# 托管的异常处理 - 媒体 – 内容保护 - 媒体 – 720P 高清晰 (HD) 视频 媒体 – 音频/视频支持 (VC-1, WMV, WMA, MP3) 媒体 – 图像支持 Silverlight ASP.NET 控件 (asp:media, asp:xaml) 类型安全确认 - Windows Meda Server支持 XAML Parser (基于WPF

    28760

    基于Unity的编辑器开发(一): GUI框架技术

    GUI框架技术 Unity渲染窗口 问题就是怎么把Unity嵌入到现有的一些GUI窗口中? 然后是WPF, 之前也折腾过一阵子, 虽然看起来很酷, 但是自己想做出那么酷的效果还是要花比较多的精力, 上手成本也是个问题, 编辑器做到差不多的时候总要有其他人来接手维护, 像我几年没用过WPF都忘了怎么写 再后来放弃了C#, 参考HeliumProject基于C++搞了一整套反射序列化, 用Qt实现了一个通用的属性编辑器. ? 跑题了, 回到C#这边. WPF能找到的比较不错的属性编辑器大多是商用的: ? 开源的做得还不错的有Property Tools, 以前我干过把它嵌入到MFC编辑器里的奇葩事, 这次差一点又想把它嵌入Winforms里用.

    1.9K80

    C#脚本实践(一)

    /Java/JS/AS类的我才看着比较顺眼 而且, 从学校开始, 好像自己就中了C#的毒一般, 虽然一直没机会大量应用, 但心中一直念念不忘 这也导致了我把引擎工具用WPF来开发的念头 今年Unity这个名字在眼前和耳边不断地飘过 , 其理念非常不错 而它的脚本是基于Mono的, 冒似实际效果很不错 这也让我有了使用C#做为脚本的冲动 如果嫌C#不是动态语言的话, Mono还支持JavaScript和Boo 本来想如果不跨平台的话是不是可以直接使用 MS的.Net实现 Google一下到是真有个叫CS-Script的实现, 不过想嵌入NativeC++看来不是那么好整 所以, 一切还是要从Mono下手, 虽然它的运行效率比MS的要打个折扣, 但再怎么说也是 linux下搞这玩意 后来从github上下载了最新的代码, 好不容易在修改了部分路径下的情况下编译通过 其中有些.lib是在mono的windows安装版本中的 Embedded Samples就是嵌入 mono的示例程序 以teste为例, 运行时需要依赖mscorlib.dll, 而且那个路径很奇怪, 竟然是mono/msvc/Win32_Debug/lib/mono/2.0/ 这个之后再搞懂怎么配置

    79040

    UWP 和 WPF 对比

    xaml 做的 UI 和 C#、VB 写的后台 xaml 的 UI 和 C++ Native 写的后台 DirectX 的 UI 和 C++ Native 写的后台 JavaScript 和 HTML WPF 呢? 他可以使用 xaml 做的前台,C#、VB、F#、C++写的后台。 不过需要知道,WPF 的C++ 后台使用的是托管的C++。 那么网上怎么好多小伙伴说 UWP 的性能比 WPF 好? 系统要求 因为 WPF 发布的时候还没有 Win7 所以 WPF 是支持 xp 的。 而且 WPF 和 UWP 的设计器经常无法使用,不过两个都可以在运行修改样式。但是在运行时可以 WPF 可以通过 Snoop 查看元素的值,但是 UWP 不可以,所以调试 UWP 界面还是比较难。

    7520

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

    WebView2与Edge浏览器的区别 .NET混合开发解决方案3 WebView2的进程模型 .NET混合开发解决方案4 WebView2的线程模型 .NET混合开发解决方案5 WebView2运行时与分发应用 .NET混合开发解决方案6 检测是否已安装合适的WebView2运行时 .NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件 .NET混合开发解决方案 但是在企业级应用软件中业务需求可能更加复杂,如JS调用C#方法之后,需要访问宿主的窗体,设置窗体(WinForm、WPF、WinUI、Win32)中的控件等。 窗体已经运行,说明已经实例化了,如果采用第一种方式,那么新创建的对象与正在运行的窗体对象不是同一个对象,即使访问到窗体中定义的方法也无法更新当前窗体上的控件属性。所以必须采用第二种方式。 CustomWebView2HostObject 类 与 窗体 Frm4JSCallWinForm 类是两个独立的类,CustomWebView2HostObject 类无法直接获取当前正在运行的Frm4JSCallWinForm

    17840

    UWP 和 WPF 对比

    xaml 做的 UI 和 C#、VB 写的后台 xaml 的 UI 和 C++ Native 写的后台 DirectX 的 UI 和 C++ Native 写的后台 JavaScript 和 HTML WPF 呢? 他可以使用 xaml 做的前台,C#、VB、F#、C++写的后台。 不过需要知道,WPF 的C++ 后台使用的是托管的C++。 那么网上怎么好多小伙伴说 UWP 的性能比 WPF 好? 系统要求 因为 WPF 发布的时候还没有 Win7 所以 WPF 是支持 xp 的。 而且 WPF 和 UWP 的设计器经常无法使用,不过两个都可以在运行修改样式。但是在运行时可以 WPF 可以通过 Snoop 查看元素的值,但是 UWP 不可以,所以调试 UWP 界面还是比较难。

    9K20

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

    介绍 WinForm、WPF 集成 Web 网页的多种技术方案之前,先了解一下浏览器的内核。    下图是在Winform程序中使用WebView2组件加载我的博客园页面的效果 控件4:CefSharp   CefSharp是一种将功能齐全的符合标准的web浏览器嵌入C#或VB.NET应用程序的简单方法 通过NeGet安装SDK时,运行时环境会被自动下载到当前项目的bin\debug 或者 bin\Release目录下。导致整个项目非常大,大约110M左右。 以独立进程方式运行,消耗内存较多。 它是用C#写成的,里面有大量的C#的注释,geckofx是最完美的默认的iE核心webbrowse控件的替代控件。 控件7:DotNetBrowser DotNetBrowser能嵌入一个基于Chromium的WPF或WinForms组件到你的.NET应用中,用来显示使用HTML5、CSS3、JavaScript、

    13010

    使用 WPF + Chrome 内核实现 在线客服系统 的复合客服端程序

    在本篇文章中,我将详细介绍如何通过 WPF + Chrome 内核的方式实现复合客服端应用程序。 而访客端,则反之向下兼容,在 PC 端兼容到 IE8 : ---- 要实现这样的效果只需三个步骤 嵌入组件 响应事件 调用 JavaScript 函数 1. 嵌入组件 首先使用 NuGet 将 WebView2 SDK 添加到项目中,然后将 WebView 添加窗口界面。 调用 JavaScript 函数 可以在运行时使用主机应用将 JavaScript 代码注入控件。 可以运行任意 JavaScript 或添加初始化脚本。 就可以完成 WPF + Chrome 内核 的复合式应用程序!

    18810

    WinForm嵌入Web网页的解决方案

    更形象的应用场景是,WinForn/WPF客户端程序嵌入Web程序,Web程序的网页中js调用WinForm/WPF窗体以及业务方法。后面会详细的介绍。    CefSharp【推荐】   CefSharp是一种将功能齐全的符合标准的web浏览器嵌入C#或VB.NET应用程序的简单方法。 CefSharp拥有WinForms和WPF应用程序的浏览器控件,以及自动化项目的OffScreen版本。 它是用C#写成的,里面有大量的C#的注释,geckofx是最完美的默认的iE核心webbrowse控件的替代控件。 DotNetBrowser   DotNetBrowser能嵌入一个基于Chromium的WPF或WinForms组件到你的.NET应用中,用来显示使用HTML5、CSS3、JavaScript、Silverlight

    54110

    【值得收藏】收集了.Net 不少资源

    官网 CLR CoreCLR:coreclr repo 包含了完整的 .NET 核心运行时实现(称为“CoreCLR”)。 官网 Mono-basic:Visual Basic 编译器和运行时。 官网 Nemerle:Nemerle 是一个 .NET 平台高级静态类型编程语言。 官网 环境管理(Environment Management) DNVM:.NET SDK 管理器,一组命令行工具,用于更新和配置需要使用的运行时环境(DNX)。 官网 Accord.NET Extensions:高级图像处理和计算机视觉算法扩展。 官网 PreMailer.Net:一个 C# 开发库,将你的样式表嵌入到内置的 style 属性中,最大限度支持邮件客户端。

    18920

    C# WPF 嵌入网页版WebGL油田三维可视化监控 0x00 楔子0x01 寂静无声0x02 初步尝试0x03 CefSharp现身0x04

    直到客户说,我们有一个WPF开发的桌面端程序,我们需要把你们的三维嵌入到桌面端。 0x01 寂静无声 一开始我们是比较懵逼的。 毕竟我们主要做JavaScript前端开发,对于C# 之类的接触的很少。 抱着试一试的态度在开发群里面问了下,有人懂WPF的开发吗? 寂静无声。。。 因为基本上专业在前端开发,可以理解。 虽然我没有太多接触过C#相关开发, 但是做过Java,Python,C,Flex,JavaScript等等的开发。凭借多年开发经验,所以相信并不会太难。 如果你是做C# 开发的,相信应该对NuGet不陌生。如果你不做C#开发。那么你可以这么理解NuGet: 如果你了解python,那么它类似pip。 如果你了解nodejs,那么它类似npm。 0x08 尾声 使用CefSharp基本可以解决客户的嵌入三维应用到WPF的需求。

    59330

    基于.NET平台常用的框架整理

    EmitMapper:性能较高的ORM框架,运行时通过EMIT动态生成IL代码,并非采用反射机制。 跨平台和运行时解决方案 MONO.NET:跨平台的.NET运行环境,让.NET跨平台运行成为可能。 DotGnu Portable.NET:类似于MONO.NET的跨平台运行时。 VMDotNet:中国移动飞信所使用过的.NET运行时。 Unity3D:微软大力支持的机遇C#和JavaScript的跨平台游戏开发框架。 图形和图像处理框架 Paint.NET:基于.NET小巧灵活强大的图形处理开源项目。 Imagemagick.NET:用C#对开源图像处理组件Imagemagick的封装。 SparrowToolkit:一套WPF图表控件集,支持绘制动态曲线,可绘制示波器、CPU使用率和波形。DynamicDataDisplay:微软开源的WPF动态曲线图,线图、气泡图和热力图。

    30320

    【译】Visual Studio 2019 中 WPF & UWP 的 XAML 开发工具新特性

    XAML实时调试工具: XAML C# Edit & Continue 现在被称为 XAML Hot Reload (v16.2): 现在将 WPF / UWP 的 XAML C# Edit & Continue 以前,该功能会显示附件中正在运行的应用程序的完整实时可视化树,而无法通过过滤器仅查看您在应用程序中编写的 XAML。 实时可视化树中的Just My XAML 可移动的应用内工具栏(v16.3): 应用程序内工具栏已得到增强,可在正在运行的 WPF / UWP 应用程序中移动,从而使开发人员能够在应用程序中向左或向右拖动它以解除阻止应用程序 在此版本中,受支持的控件包括:边框,按钮,画布,复选框,组合框,网格,图像,标签,列表框,ListView,StackP anel,TextBlock,TextBox。 IntelliCode 支持C#,C ++,XAML等语言。

    43030

    扫码关注腾讯云开发者

    领取腾讯云代金券