编辑
2025-02-03
C# 应用
00

本文将介绍如何在 Windows Forms (WinForms) 应用程序中生成并打印二维码(QRCode)。我们将使用开源库 QRCoder 来生成二维码,并使用 PrintDocument 类进行打印。本文假设你对 C# 和 WinForms 有基本的了解。

编辑
2025-02-03
C# 应用
00

在C# 3.0中引入了一项新特性,使得我们可以在不修改类的源代码的情况下为其添加新方法。例如,如果一个类已经有了一组成员,我们可以在未来为其添加更多的方法,而无需更改类的源代码。如果类的源代码不可用或我们没有权限对其进行更改,我们可以利用扩展方法来扩展其功能。

在扩展方法出现之前,继承是扩展类功能的一种方法。例如,为了在不更改现有类的情况下添加新成员,我们可以定义一个现有类的子类,然后在子类中添加新成员。使用扩展方法时,我们将增加一个类的功能。在这种情况下,我们将创建一个新类,并使用它来增加现有类的功能。

与继承不同的是,继承使用新类的对象调用旧类和新类中定义的方法,而扩展方法使用旧类的对象调用旧类和新类中定义的方法。两种方法都可以用来扩展现有类的功能。

注意: 继承权利并不总是得到保证。这意味着如果类使用sealed修饰符声明,我们无法从中创建派生类。然而,我们可以使用扩展方法来增加sealed类的功能。

编辑
2025-02-03
C# 应用
00

在C#中,结构(struct)是一种将各种数据类型的变量组合在一起的值类型。尽管它们与类(class)非常相似,都是用户定义的数据类型,可以存储大量不同的数据类型,但结构是值类型,而类是引用类型。用户可以根据需要定义结构,因此它也被称为用户定义的数据类型。

定义结构

在C#中使用struct关键字来定义结构。一个结构可以包含构造函数、常量、字段、方法、属性、索引器、事件等元素。

编辑
2025-02-03
C# 应用
00

随着现代显示器分辨率的多样化,以及高DPI(每英寸像素数)屏幕的普及,特别是不少机器调整了百分比显示,创建一个自适应的WinForms界面变得尤为重要。本文将详细介绍在WinForms中如何开发自适应界面,使应用程序在不同分辨率和缩放比例下表现一致。

简介

在Windows应用程序中,显示设置可以影响应用程序的外观。WinForms提供了一些机制来帮助开发者打造自适应界面,但这需要一些配置。本文将带你一步一步实现这一过程。

编辑
2025-02-03
C# 应用
00

本文将介绍如何使用 C# 和 OpenXml SDK,从 Excel 文件中提取图片和嵌入对象。我们将以一个包含代码示例的完整项目为例,详细介绍实现过程。

准备工作

你需要安装以下 NuGet 包:

  • DocumentFormat.OpenXml

你可以通过 NuGet 安装这些依赖包。在 Visual Studio 的“工具” -> “NuGet 包管理器” -> “包管理器控制台”中运行以下命令:

Bash
Install-Package DocumentFormat.OpenXml