Установите фокус на winform после запуска

Я нашел несколько тем по этому поводу, но ни одна из них не помогла мне с моей проблемой, я хочу установить фокус на новом созданном окне winform после его запуска.

Я запускаю форму в собственном новом потоке с помощью :

application.Run(new InvisibleForm());

, и форма появляется, но фокус по-прежнему установлен на последнем выбранном окне из окон. эта форма не имеет заголовка и не отображается на панели задач, у нее также есть набор TransparencyKey:

this.AutoScaleDimensions = new SizeF(6F, 13F);
this.AutoScaleMode = AutoScaleMode.Font;
this.BackColor = SystemColors.AppWorkspace;
this.ClientSize = new Size(992, 992);
this.ControlBox = false;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "InvisibleForm";
this.Opacity = 0.5;
this.ShowInTaskbar = false;
this.TransparencyKey = SystemColors.AppWorkspace;
this.Load += new EventHandler(this.InvisibleForm_Load);

теперь я попробовал несколько методов, но ни один из них не заставил меня сосредоточиться на форме или не мог установить форму на переднем плане / сверху из всех других окон:

this.TopMost = true;
this.Focus();
this.BringToFront();
this.Activate();

есть ли способ программно запустить событие щелчка / фокуса в форме, чтобы он устанавливал себя с этим событием в фокусе?

8
задан dontcare 19 April 2012 в 14:34
поделиться