2009-05-18 14 views
10

誰かが、ISupportInitializeインターフェイスメソッド(BeginInit/EndInit)とSuspendLayout/ResumeLayoutの使用の違いを教えてください。ISupportInitialize(BeginInit/EndInit)とSuspendLayout/ResumeLayoutの相違点

ISupportInitializeは、初期化時にのみ使用されますか?または、後で新しい子コントロールを既存の親コントロールに追加する場合に使用できますか?

特に違いはありますか?

ご協力いただきありがとうございます。

パト

+0

--------------- 今日、デザイナーコードから変換してダイナミックコントロールの作成を実装したいと考えています。どちらが優先されますか? BeginInit()またはSuspendLayout()? ----------------------((ISupportInitialize)Process_GroupControl).BeginInit(); Process_GroupControl.SuspendLayout(); – CallMeLaNN

答えて

4

、System.dllの中に住んでいるとコンポーネントのレルム内だけでかなり一般的な概念であるISupportInitializeインターフェイスをいただき、ありがとうございます。ちなみに、System.Windows.Formsの多くの部分はComponentであり、Windows.FormsはComponentModelの主要なユーザーです。

Suspend/ResumeLayoutは純粋なWindows.Formsのもので、実際にあなたがいる間にグラフィックを試したりやったりしないようコントロールに指示します。子コントロールを追加するか、プロパティを変更します。

-1

このためにVB.Netで使用されているコードを修正してください。ほとんどのデコンパイラはこれを間違えてしまいます。

CType(Me.pictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()