控制台控件
一个外观类似于控制台屏幕的 WinForms 控件,具有完整的读取和写入支持。
引言
最近,我正在开发一个项目,需要创建一个 WinForms 应用程序,但需要一种“控制台窗口”。 找不到我喜欢的任何东西,所以我决定自己编写一个。 这里介绍的控制台控件完全从头开始构建,不使用任何现有控件,并且它执行自己的所有渲染。
Using the Code
要使用该控件,只需从您的项目中引用 DLL 或项目。 引用后,您应该能够在设计器窗口中看到它。 简单地将一个实例拖放到您的窗体上。 您可以设置以下属性
ShowCursor
- 布尔值。 如果为 true,则光标将显示在控制台窗口上。 如果为 false,则不显示光标。CursorType
- 枚举。 如果设置为 Underline(下划线),则光标将渲染为下划线。 如果设置为 Block(块),则光标将渲染为块。 如果设置为 Invisible(不可见),则光标将不可见。AllowInput
- 布尔值。 如果设置为 true,则控制台窗口将捕获击键并发出 LineEntered 事件(见下文)。EchoInput
- 布尔值。 如果设置为 true,则每次按下键时,控制台窗口会将按下的键回显到控制台窗口。ConsoleBackgroundColor
- 颜色。 此属性确定控制台窗口的背景颜色。 默认值为黑色。ConsoleForegroundColor
- 颜色。 此属性确定控制台窗口的前景色。 默认值为灰色。CurrentBackgroundColor
- 颜色。 此属性确定打印到控制台窗口的任何文本的背景颜色。CurrentForegroundColor
- 颜色。 此属性确定打印到控制台窗口的任何文本的前景色。
以下方法可用
SetCursorPosition()
- 设置光标的行和列。GetCursorPosition()
- 返回光标的行和列。Write()
- 在当前光标位置写入字符串或字符或换行符,使用当前的背景和前景色,或者您可以指定隐式的前景色和背景色。ScrollUp()
- 将控制台窗口向上滚动 1 行或更多行。Clear()
- 完全清除控制台窗口并将光标放置在左上角。SetBackgroundColorAt()
- 将指定位置的背景颜色设置为指定的颜色。SetForegroundColorAt()
- 将指定位置的前景色设置为指定的颜色。SetCharacterAt()
- 在指定位置放置一个字符。
历史
2015/10/11 - 初始发布