Здравствуйте, проблема такая, мне нужно из одной Form1 запускать Form2. В Form2 будет открываться браузер cefsharp.
Если я запускаю в Form1 с помощью нового потока, так:
Thread _thread = new Thread(() => Application.Run(new Form2()));
_thread.start();
То всё работает, окно с браузером открывается корректно. Но если вызываю такой код:
Thread _thread = new Thread(() => new Form2().Show());
_thread.start();
То окно открывается некорректно, пока я не уменьшу или увеличу, или сделаю на весь экран его. (скриншот)

Тоже самое если просто в коде программы без нового потока вывести new Form2().Show()
Много чего перебровал, в том числе убрать добавить Dock.Fill параметр, также добавлял groupBox а в него уже окно браузера, эффект тот же.
Частично получается пофиксить если вызвать в коде после загрузки фрейма такой void:
this.WindowState = FormWindowState.Minimized;
this.WindowState = FormWindowState.Normal;
т. е сворачивать и разворачивать окно, тогда отображается почти на всё окно, но с зазора чёрными (скриншот 2)

Честно, не понимаю природу ошибки, возможно окно загружается раньше браузера или наоборот? Но при Application.Run(new Form2()) всё работает, помогите, пожалуйста, решить вопрос.