题
是否有可能禁用最热的Windows窗体窗口,如果是这样,我怎么办呢?我想有一个不能被点击一个不透明的窗口。提前谢谢, 克里斯托弗
解决方案
如果你跟一个不同的过程,你需要发送和检索Windows消息。
有一个在此链接:
使用窗口消息来实现全球系统挂钩在C# http://www.codeproject.com/KB/system/WilsonSystemGlobalHooks.aspx
全局系统钩子允许应用程序拦截旨在用于其它应用程序的Windows消息。这一直是困难的(不可能的,根据MSDN)的C#实现。本文试图通过建立在C DLL包装来实现全球系统钩子++中的帖子消息钩子应用程序的消息队列。
其他提示
你想的是不能移动的窗口?设置FormBorderStyle为无。
好了,我还是不知道很多关于你的使用情况,但我会采取刺伤反正,并提供一个简单的例子。
我假设你想控制从浮动形式在主窗体上的东西。 要做到这一点,你从你的漂浮形式需要你的主要形式的参考。您可以通过创建您的浮动形式的构造函数重载接受你的主窗体的实例,这样做:
public FloatingForm(MainForm mainForm)
{
InitializeComponent();
_mainForm = mainForm;
}
浮形式包含名为floatingFormTextBox文本框,以及名为Button1按钮。为浮置形式的局部类看起来像这样:
public partial class FloatingForm : Form
{
MainForm _mainForm;
public FloatingForm()
{
InitializeComponent();
}
public FloatingForm(MainForm mainForm)
{
InitializeComponent();
_mainForm = mainForm;
}
private void button1_Click(object sender, EventArgs e)
{
_mainForm.DoSomething(floatingFormTextBox.Text);
}
}
的主要形式只是包含一个名为mainFormTextBox文本框。当主窗体加载时,它会创建浮动窗体的实例,传递到自身的引用到浮动窗体的新构造函数重载。为主要形式的局部类看起来像这样:
public partial class MainForm : Form
{
FloatingForm _floatingForm;
public MainForm()
{
InitializeComponent();
}
public void DoSomething(string text)
{
mainFormTextBox.Text = text;
this.Refresh();
}
private void MainForm_Load(object sender, EventArgs e)
{
_floatingForm = new FloatingForm(this);
_floatingForm.Show();
}
}
现在,当我把一些文本到浮置形式的文本框,并单击按钮,文本中的主要形式的文本框中显示出来。
不隶属于 StackOverflow