这可能是一个愚蠢的问题......
当我登录星际争霸 2 并看到漂亮的 UI 时,我不禁想知道它是不是使用 Windows 窗体(.Net 或 C#)设计的。登录框只是某种 Windows 对话框还是他们做自己的事情——不管是什么?
是否有可能在 Windows 窗体中获得如此多的自定义?
不可以。使用 DirectX 控制视频设备的游戏和其他应用程序不使用 WinForms 甚至 Win32 API 进行屏幕输出。
星际争霸 2 很可能实现了自己的窗口和 UI 系统,完全独立于 Windows API 或 WinForms 库。
是的,您可以用 C# 编写应用程序来执行类似的 DirectX 图形输出,但使用 DirectX 并不像使用 WinForms 那样简单。我不建议您尝试编写 DirectX 应用程序来自学 C#,除非您已经通过其他语言或工具(主要是 C++)对 DirectX 非常有经验。
WinForms 非常适合学习 C# 和您选择使用的任何 IDE 工具链。在您熟悉 C# 模式和术语之后,开始学习如何使用 C# 编写 DirectX 代码。
不,他们使用 DirectX。DirectX 绕过正常窗口并在较低级别运行。
您可以在很大程度上自定义表单。您可以完全控制将其绘制成您想要的样子。