Mein Problem: Ich möchte zur Laufzeit ein Panel mit Textboxen füllen. Aber man sieht wie sich jede Textbox aufbaut, obwohl vor Füllen Form+Panel.SupendLayout() aufgerufen wird und danach ResumeLayout(). Laut MSDN: The layout logic of the control is suspended until the ResumeLayout method is called. Komisch nur dass im InitializeComponent() genau das gleiche gemacht wird, dort aber sieht man den Aufbau der Textboxen nicht. Lösung: (mittels pinvoke) [DllImport("user32", CharSet = CharSet.Auto)] private extern static IntPtr SendMessage(IntPtr hWnd, int msg, int wParam, IntPtr lParam); // Stop redrawing: SendMessage(panelContainer.Handle, WM_SETREDRAW, 0, IntPtr.Zero); // Stop sending of events: eventMask = SendMessage(panelContainer.Handle, EM_GETEVENTMASK, 0, IntPtr.Zero); // *** Controls hinzufügen usw.... *** // turn on events SendMessage(panelContainer.Handle, EM_SETEVENTMASK, 0, eventMask); // turn on redrawing SendMessage(panelContainer.Handle, WM_SETREDRAW, 1, IntPtr.Zero); ODER: [DllImport("user32.dll")] public static extern bool LockWindowUpdate(IntPtr hWndLock); LockWindowUpdate(panelContainer.Handle); // *** Controls hinzufügen usw.... *** LockWindowUpdate(IntPtr.Zero); gefunden auf: Use LockWindowUpdate to get flicker-free RichTextBox update
Latest Posts
Popular Posts
-
I am *very* keen on automating tests, so I was looking into unit testing a WCF service. If I say "unit test", I mean a fast ,...
-
It's easy I thought, just select the Property of the EntityType and set the Default Value in the Properties window to: DateTime.Now ...
-
*Updated* 26. September 2010: Updated with comments from Adam Cogan *Updated* 27. September 2010: Updated the comparison between anonymo...
No comments:
Post a Comment