Skip to content

Latest commit

 

History

History
17 lines (16 loc) · 1.84 KB

README.md

File metadata and controls

17 lines (16 loc) · 1.84 KB

CUI Panel (控制台面板绘制器)

项目目的

本类可以简化在控制台窗口绘制内容的过程,提供绘制、自动刷新及按键事件处理等功能。

如何使用

      在代码中添加 using CUIPanel 来使用本类。

      创建本类的实例,你可以自定义UpdateRate(更新频率,毫秒计),UsePassiveUpdate(使用被动更新,仅当缓冲区内容发生变化时重绘面板内容),其余属性根据需要进行修改。

      初始化缓冲区内容过程中,可以置IsPaused属性为true来暂停一切更新事务,此时面板不会进行任何刷新,直到IsPaused属性重新置为false。初始化过程中可以对事件进行绑定,具体如下:

  • BeforeUpdate:更新前事件,在每个周期的面板刷新事件发生前调用,应该包含需要预处理的事件;
  • AfterUpdate:更新后事件,在每个周期的面板刷新事件发生后调用,应该包含需要后处理的事件;
  • AfterResize:控制台窗口大小改变事件,在控制台窗口大小改变引发缓冲区重新初始化后调用,应该包含窗口大小改变后需要进行的操作的事件;
  • KeyPressed:按键事件,在控制台窗口中按下某一按键后引发的事件,如果在Console类中设置了CancelKeyPress事件的处理方法,则会优先调用Console类中的方法。

      初始化完成后即可以通过DrawPanel的各种重载方法绘制界面。

      如果需要清空缓冲区内容,可以通过调用Clear方法;如果需要结束此实例,可以通过调用Exit方法,此方法会销毁所有从属于此实例的子线程。