这是我的第一个问题。我上周开始学习使用C#进行编码,遇到了以下问题,我无法找到答案(我以前的编程经验是使用C语言的微控制器,所以我还是习惯了面向对象的方法)。
我有一个调用第二种形式的表单(就像屏幕键盘一样)。我希望第二种形式在点击它的按钮时不要聚焦,这样如果选择了第一种形式的文本框,键将被发送给它。
在第二种形式中使用p.ExStyle |= 0x8000000;
适用于任何其他窗口(如记事本)但不适用于第一种形式,当第二种形式与之交互时,它会失去焦点。我试图实现的目标是什么?
Form1中:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Form2 frm2 = new Form2();
private void button1_Click(object sender, EventArgs e)
{
frm2.Show();
}
}
窗体2:
public partial class Form2 : Form
{
protected override CreateParams CreateParams // do not activate window when interacted with
{
get
{
CreateParams p = base.CreateParams;
p.ExStyle |= 0x8000000;
return p;
}
}
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
SendKeys.Send("test");
}
}