C# 中的 Console.SetWindowPosition() 方法

17 Mar 2025 | 4 分钟阅读

在本文中,我们将通过语法和示例来讨论 C# 中的 Console.SetWindowPosition() 方法。

引言

通过使用 C# 中的 Console.SetWindowPosition() 函数,开发者可以精确控制控制台窗口在屏幕上出现的位置。该函数是 .NET 框架中 Console 类的一个组件,允许动态修改基于控制台的应用程序的视觉布局。通过提供所需的水平和垂直坐标,开发者可以控制控制台窗口在用户显示器上的精确位置。此功能极大地增强了用户体验,尤其是在特定的窗口排列或布局很重要时。无论是为了可读性、与其他屏幕组件的兼容性,还是为了满足设计规范,Console.SetWindowPosition() 都提供了一种适应性强的方式来定制 C# 控制台程序的外观和行为。

Console.SetWindowPosition() Method in C#

语法

它具有以下语法:

left: 它表示控制台窗口距离屏幕左边界的水平位置(以像素为单位)。

top: 它表示控制台窗口相对于显示器最上边缘的垂直位置(以像素为单位)。

潜在用途

C# 中的 Console.SetWindowPosition() 函数有多种用途。Console.SetWindowPosition() 函数的一些主要用途如下

  1. 自定义布局: 重新定位显示器上的控制台窗口,以满足特定的排列或设计规范。
  2. 屏幕空间管理: 确保控制台窗口尽可能靠近屏幕上显示的其他组件或应用程序。
  3. 增强用户体验: 通过精心放置终端窗口,以实现用户之间的最佳交互,我们可以提高可读性和可用性。
  4. 多控制台窗口应用: 这些应用程序允许个人通过应用程序逻辑或用户输入动态设置多个控制台窗口的位置。
  5. 演示与展示: 设置控制台窗口,以便在演示期间强调特定的特性或材料。
  6. 自助服务终端应用: 在自助服务终端应用中管理控制台窗口的位置,以提供标准化且用户友好的界面。

示例

让我们举一个例子来说明 C# 中的 Console.SetWindowPosition() 方法。

输出

Use arrow keys to move the window.
Current window position: Left: 0, Top: 0

说明

1. 配置控制台

控制台用于更改控制面板窗口的标题。属性标题为 "Positioned Console Window Game"

控制台窗口的尺寸使用 Console 配置为 40 列宽和 20 行高。使用 SetWindowSize() 函数。

2. 设置变量

为了跟踪控制台窗口的位置,我们定义了两个整型变量:windowTopwindowLeft

将 window left 和 window top 设置为 0,表示窗口在显示器左上角的初始位置。

3. 游戏循环

一旦 gameRunning 标志变为 false,我们就启动一个 while 循环 (while (gameRunning))。
我们在循环内部清除终端屏幕 (Console.clean()) 以重新激活显示外观。

在设置光标位置为 (0, 0) 的同时,使用 SetCursorPosition() 方法输入游戏说明和信息。

SetWindowPosition() 使用 windowLeft 和 windowTop 变量来持续设置命令行窗口的位置。

4. 处理用户输入

我们使用 Console 耐心等待按键。使用 ReadKey(true) 方法从终端输入中读取单个按键,而不显示它。

使用 switch 语句来处理不同的按键

当用户按向上箭头键时,我们减小 window top 的值,以向上移动窗口。

当用户按下向下箭头键时,只需增加 window top 的值,即可向下滑动窗口。

当用户按向左箭头键时,我们减少 window left 的值以向左移动窗口。当用户按向下箭头键时,我们增加 window left 的值以向右移动窗口。然后,如果用户按下键盘上的 Escape 键,我们将 gameRunning 设置为 false 以结束当前的游戏循环。