<Windows Forms框架编程>节选   第九章 设计模式与原则 软件设计模式(Design pattern)是一套被反复使用的代码设计经验总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性.好的设计,成就好的作品.但在软件设计的过程中,若有一些设计原则(Design Principle)的约束,那我们的软件会重构得更好.设计模式和设计原则博大精深,需要我们长时间的实践和总结才能真正领悟到其真谛,本章首先以“观察者模式”为例,介绍设计模式在Windows Form…
Windows Forms和WPF在Net Core 3.0框架下并不会支持跨平台 微软将WinForms和WPF带到.NET Core 3.0这一事实,相信大家都有所了解,这是否意味着它在Linux和Mac上运行?. 不!由于WinForms和WPF在后台使用Windows技术,因此无法在Linux或Mac上运行.它真的依赖于Windows.在.NET Core上运行它的意义在于性能,并且独立于任何框架. 相关知识点: 1.跨平台的WPF/UWP UI 框架:Avalonia 可以使用Aval…
一 源码位置 1. Winform框架 2. web框架 二 高效学习编程的办法 1 任务驱动方式学习软件开发 大部分人学习软件开发技术是通过看书,看视频,听老师上课的方式.这些方式有一个共同点即按知识点进行讲解.比如拿c#编程为例,首先是讲解大量的基础概念,如类和对象,继承多态,事件委托,泛型接口等等.这种学习方法的一个弊端是学习了大量的知识点,但是不知如何运用. 换一个角度,采用任务驱动的模式,提供一些从易到难的编程任务,一个个进行攻克,给出任务的同时,列出解决该任务需要掌握的知识,通过简单…
原文来自TechViews 今天,我们宣布推出.NET Core 3 Preview 1.这是.NET Core 3的第一个公开发布.我们有一些令人兴奋的新功能可供分享,并希望得到您的反馈.您可以使用Visual Studio 2019 Preview 1,Visual Studio for Mac和Visual Studio Code开发.NET Core 3应用程序. 立即在Windows,Mac和Linux上下载并开始使用.NET Core 3 Preview 1 . 您可以在.NET C…
前面3个月的时间内,这些.NET开源项目你知道吗?系列文章已经发表了3篇,共计45个平时接触比较少,曾经默默无闻的.NET开源项目,展示给大家,当然不是每个人都能用得上,但也的确是有些人用了,反响还不错,所以非常感谢大家的支持.由于收藏夹的项目越来越少,越整理到最后,越发现一些问题,所以就按专题来分开.今天分享给大家的是关于WinForm开发相关的小巧灵活的开源项目.虽然现在WinForm开发可能不常见了,都转向B/S了,但偶尔还是有用到的地方的,特别是学校,以及一些研究演示之类的.所以这篇文章…
本文将介绍 Windows 系统中高 DPI 开发的基础知识.由于涉及到坐标转换,这种转换经常发生在计算的不知不觉中:所以无论你使用哪种 Windows 下的 UI 框架进行开发,你都需要了解这些内容,以免不断踩坑. 本文内容 各种不同的 Windows 桌面 UI 框架 对普通用户而言的 DPI 级别 对 Windows 应用而言的 DPI 感知级别(Dpi Awareness) 不同 UI 框架对 DPI 的支持情况 UWP WPF Windows Forms 其他 UI 框架 混合 DPI…
今年五月的 Build 大会上,微软说 .NET Core 3.0 将带来 WPF / Windows Forms 这些桌面应用的支持.当然,是通过 Windows 兼容包(Windows Compatibility Pack)实现的.为了提前检查你的程序是否能在未来跑在 .NET Core 3.0 上,微软在 2018年8月8日 推出了 .NET Core 3.0 Desktop API Analyzer,帮助你提前检查你的程序能有多容易迁移到 .NET Core 3.0 本文将介绍其使用方法…
本文转自 https://blog.csdn.net/WPwalter/article/details/82859449 使用 .NET Core 3.0 Desktop API Analyzer 分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0 ) .NET Core 3.0 Desktop API Analyzer 分析一个 WPF 程序 分析更复杂的程序 着手解决兼容性问题 一些错误 未来的迁移 分析现有 WPF / Windows Form…
问题:将dotnet framework 4.0 切换到2.0时,编译没有问题,在运行时出现如下错误:System.InvalidCastException: 无法将类型为“System.Windows.Forms.SplitContainer”的对象强制转换为类型“System.ComponentModel.ISupportInitialize”. 解决方法: 注释掉如下代码(此代码为设计器自动生成代码) //((System.ComponentModel.ISupportInitialize…
首先,大家可以看下这个链接 Windows GUI自动化测试技术的比较和展望 . 这篇文章介绍了Windows中GUI自动化的三种技术:Windows API, MSAA - Microsoft Active Accessibility, UIAutomation 用脚本语言AutoIT实现自动化就是第一种技术Windows API, 查找窗口句柄实现的. 用工具Spy++查看程序,如果Spy++能识别程序窗口中的控件就能用这种技术. python中也有一个UI自动化测试模块pywinauto,…