パネルでダブルバッファリングをオンにしたかったのですが、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