我目前有一个基于控制台的应用程序,我想添加一个简单的不可见表单,这样我就可以在屏幕上绘制一些线条,它工作得很好,但是线条需要移动,所以当它刷新时,它们会闪烁很多。
我想添加DoubleBuffered控件,但是它说由于保护级别的原因它是不可访问的,通常你会在窗体的设计部分启用它,有什么方法可以在控制台应用程序中访问它,或者我需要切换到窗体应用程序吗?
public static Form f;
[STAThread]
public static void Main(string[] args) {
f = new Form();
f.DoubleBuffered = true;
f.Load += OnLoad;
Application.EnableVisualStyles();
Application.Run(f);
}显示-由于其保护级别,无法访问Control.DoubleBuffered
发布于 2019-09-10 07:20:35
Form上的DoubleBuffered被标记为受保护。这意味着只能从类或从该类派生的类访问该值。处理这类值的正常方法是仅从派生类访问它们,如下所示:
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MyForm());
}
}
class MyForm : Form
{
public MyForm()
{
DoubleBuffered = true;
Load += new System.EventHandler(this.Form_Load);
}
void Form_Load(object sender, EventArgs e)
{
// TODO
}
}https://stackoverflow.com/questions/57862171
复制相似问题