Чтобы предотвратить отображение окна, вставьте этот код в вашу форму:
protected override void SetVisibleCore(bool value) {
if (!this.IsHandleCreated) {
CreateHandle();
value = false;
}
base.SetVisibleCore(value);
}
Остерегайтесь, что событие Load не будет запущено, пока вы явно не сделаете свою форму видимой, поэтому переместите любой код, который выпопал туда внутри оператора if.
Отсутствие запуска события DocumentCompleted обычно вызвано отсутствием цикла обработки сообщений (Application.Run).WebBrowser требует один и поток, помеченный [STAThread], чтобы инициировать его события.Цикл сообщений очень важен для компонентов COM.
Важно ли также предотвращать кражу невидимой формы с помощью следующего кода:
protected override bool ShowWithoutActivation
{
get { return true; } // prevents form creation from stealing focus
}
и
form1.Enabled = false; // prevents inner controls from stealing focus