我有一个非常简单的WinForms应用程序,只用这里面:Winforms - 如何禁用主表单中所有内容的对焦?
public partial class Form1 : Form
{
[DllImport("user32.dll")]
static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
var info = new ProcessStartInfo { FileName = "cmd.exe", UseShellExecute = true };
var process = Process.Start(info);
Thread.Sleep(500);
SetParent(process.MainWindowHandle, this.Handle);
}
}
现在,我需要它,所以一切有Form1的内将无法获得任何的焦点可言。我想过要对内部的一切都进行透明的控制,但那时控制权会得到关注。此外,我不知道我将使用哪种控件,以及如何在Form1中的所有内容之上获得此透明控件。
有没有人有任何想法如何解决这个问题?
您可以尝试'this.Enabled = false;' – endofzero
听起来像一个XY问题。简单的方法是使用另一个没有任何值得关注的简单表单,使用ShowDialog()显示它并使用* that *作为父级。 –