私はコントロールを作成し、プロパティを追加しています(コントロールの外観はそれに依存します)。どのように私は、このプロパティを設定することができます。再描画せずに初期化コントロールのプロパティ
私は
InitializeComponent()
呼び出しの後すぐにフォームコンストラクタでプロパティを設定することはできません。この場合、フォームの初期化の2つのフレームが表示されます。最初はInitializeComponent()
の後、2番目のプロパティ設定はコントロールの再描画を呼び出します。悪い。また、プロパティのタイプを引き起こすBrowsableAttributeで私の諺をマークすることはできません。自分のクラスであり、プロパティウィンドウで設定することはできません。 Аlso悪い。だから、
、どのように私はform1.SuspendLayout()
とform1.ResumeLayout(false)
間の財産をinicializeだろうか?
理想的には、「プロパティウィンドウ」の各フィールドにコードを直接書き込むことができます。たとえば、プロパティのタイプがMyClassの場合、new MyClass(param1, param2)
と書きます。
プロパティウィンドウでプロパティを設定できない場合、なぜそれを作成したのですか、コントロールがそれに依存するのはなぜですか? –
これは本当の問題ではありません。ペイントは、コントロールのネイティブウィンドウが作成された後にのみ行われます。フォームコンストラクターの実行が終了した後にうまくいきます。 –