don*_*are 8 .net c# focus setfocus winforms
我找到了一些关于这个的主题,但这些都没有帮助我解决我的问题,我想在开始之后将重点放在新创建的winform窗口上.
我在一个自己的新线程中启动表单:
application.Run(new InvisibleForm());
Run Code Online (Sandbox Code Playgroud)
并且表单出现,但焦点仍然是从窗口最后选择的窗口设置的.此表单没有标题栏,并且不在任务面板中查看,它还具有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);
Run Code Online (Sandbox Code Playgroud)
现在我尝试了一些方法,但没有一个让我专注于表单或可以在前台/所有其他窗口的顶部设置表单:
this.TopMost = true;
this.Focus();
this.BringToFront();
this.Activate();
Run Code Online (Sandbox Code Playgroud)
有没有办法将程序单击/焦点事件发送到表单,以便在焦点上设置自己的事件?