Я нашел несколько тем по этому поводу, но ни одна из них не помогла мне с моей проблемой, я хочу установить фокус на новом созданном окне 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();
есть ли способ программно запустить событие щелчка / фокуса в форме, чтобы он устанавливал себя с этим событием в фокусе?