Mam na formie FlowLayoutPanel i Button tworzący dynamicznie inne buttony, które są natychmiast przypisywane do tego FlowLayoutPanel

kod w stylu:

Button button = new Button();
button.Size = new Site(100, 23);
button.Text = "tekst";
button.Click += OnClick;
flowLayoutPanel.Controls.Add(b);

problem polega na tym, że kontrolka przez milisekundę jest w górnym lewym rogu tego Panelu zanim go komponent go ustawi
jest to zauważalne i nie wygląda zbyt fajnie, jak się tego pozbyć?

kombinowałem z suspendlayout, performlayout, application.doEvents, zmianą visible itp ale dalej jest to samo