我想在面板中打开双缓冲,但我们可以DoubleBuffered
打开属性的唯一方法是创建一个继承自的新类System::Windows::Form::Panel
,如下所示:
#include "stdafx.h"
public ref class CPPIConfig: public System::Windows::Forms::Panel
{
public: CPPIConfig()
{
this->DoubleBuffered = true;
}
};
我们的表格现在看起来像这样:
#pragma once
#using <system.drawing.dll>
#include "CPPIConfig.h"
[...]
public ref class C3_User_Interface : public System::Windows::Forms::Form
{
[...]
public: CPPIConfig^ pPPI;
[...]
}
void InitializeComponent(void)
{
[...]
this->pPPI = (gcnew CPPIConfig());
[...]
}
[...]
它构建并运行,没问题。但是,当我现在尝试在设计模式下查看表单时,出现以下错误:
C++ CodeDOM 解析器错误:行:144,列:15 --- 未知类型“CPPIConfig”。请确保引用了包含此类型的程序集。如果此类型是您的开发项目的一部分,请确保该项目已成功构建。
我的问题:
- 为什么设计模式不起作用,即使代码构建并运行?我已经尝试了几个干净的构建,但这看起来不是问题。
- 有没有一种方法可以
DoubleBuffered
在true
不使用此方法的情况下进行设置?