本类可以简化在控制台窗口绘制内容的过程,提供绘制、自动刷新及按键事件处理等功能。
在代码中添加 using CUIPanel
来使用本类。
创建本类的实例,你可以自定义UpdateRate
(更新频率,毫秒计),UsePassiveUpdate
(使用被动更新,仅当缓冲区内容发生变化时重绘面板内容),其余属性根据需要进行修改。
初始化缓冲区内容过程中,可以置IsPaused
属性为true
来暂停一切更新事务,此时面板不会进行任何刷新,直到IsPaused
属性重新置为false
。初始化过程中可以对事件进行绑定,具体如下:
BeforeUpdate
:更新前事件,在每个周期的面板刷新事件发生前调用,应该包含需要预处理的事件;AfterUpdate
:更新后事件,在每个周期的面板刷新事件发生后调用,应该包含需要后处理的事件;AfterResize
:控制台窗口大小改变事件,在控制台窗口大小改变引发缓冲区重新初始化后调用,应该包含窗口大小改变后需要进行的操作的事件;KeyPressed
:按键事件,在控制台窗口中按下某一按键后引发的事件,如果在Console
类中设置了CancelKeyPress
事件的处理方法,则会优先调用Console
类中的方法。
初始化完成后即可以通过DrawPanel
的各种重载方法绘制界面。
如果需要清空缓冲区内容,可以通过调用Clear
方法;如果需要结束此实例,可以通过调用Exit
方法,此方法会销毁所有从属于此实例的子线程。