2025-10-03
C#
00

在Winform中可以用Table控件实现,但说实话在Winform中的Table控件做的实在不好用,不少功能的逻辑实在不敢恭维。Grid(网格)是WPF中最灵活和最常用的布局控件之一。它允许我们将界面划分为行和列,形成类似表格的结构,可以精确控制元素的位置和大小。Grid非常适合创建复杂的用户界面布局。这个可以说是WPF功能最全的布局控件了,这个比Winform中的Table好用太多了。。。

Grid的基本属性

  • RowDefinitions: 定义行
  • ColumnDefinitions: 定义列
  • Grid.Row: 设置元素所在行
  • Grid.Column: 设置元素所在列
  • Grid.RowSpan: 设置元素跨越的行数
  • Grid.ColumnSpan: 设置元素跨越的列数

Grid的尺寸单位

Grid支持三种尺寸单位:

  1. 固定像素值(如 Width="100"
  2. 自动大小(Auto
  3. 比例大小(*
2025-10-03
C#
00

基本概念对比

WinForm布局

  • 采用绝对定位(固定坐标)
  • 基于像素的精确定位
  • 控件大小固定
  • 缺乏弹性布局能力
  • 主要依赖Location和Size属性

WPF布局

  • 采用相对定位
  • 基于设备独立单位(DPI)
  • 控件大小可自适应
  • 强大的弹性布局能力
  • 使用Margin、Padding等相对属性

布局容器对比

WinForm常用容器

C#
public partial class Form1 : Form { public Form1() { InitializeComponent(); // Panel作为容器 Panel panel = new Panel(); panel.Location = new Point(10, 10); panel.Size = new Size(200, 100); panel.BackColor=Color.Red; // GroupBox作为容器 GroupBox groupBox = new GroupBox(); groupBox.Location = new Point(10, 120); groupBox.Size = new Size(200, 100); groupBox.Text = "分组"; this.Controls.Add(panel); this.Controls.Add(groupBox); } }

image.png

2025-10-02
C#
00

什么是复制构造函数?

复制构造函数是C#中的一种特殊构造函数,用于创建一个对象的精确副本。它接受一个与当前类相同类型的对象作为参数,并复制该对象的属性和字段值到新创建的对象中。

复制构造函数的主要目的是:

  • 创建一个对象的深度副本
  • 避免直接引用原对象,从而防止意外修改

复制构造函数的语法

复制构造函数的基本语法如下:

C#
public class ClassName { public ClassName(ClassName other) { // 复制 other 对象的属性到新对象 } }
2025-10-02
C#
00

在日常使用Windows系统时,可能会遇到这样的需求:希望将一个特定的文件夹映射为一个虚拟驱动器号。这种功能对于某些软件的路径管理或提高访问效率非常有用。在本文中,我将介绍如何通过C#代码来实现这一功能,说到根上就是CMD调用 系统命令行,这应该是最简单的方法了。

使用subst命令

Windows提供了一种简单的方法来将文件夹映射为虚拟盘符,即使用subst命令。该命令将一个磁盘路径与指定的盘符关联,创建一个虚拟驱动器。

示例命令

PowerShell
subst Z: C:\Your\Folder\Path

上面的命令会将C:\Your\Folder\Path映射为Z:盘符。

使用C#代码实现

下面我们将通过C#代码实现上述功能。在C#中,可以利用System.Diagnostics.Process类来调用命令行。

2025-10-02
C#
00