Pergunta

É possível desativar o mais quente em uma janela do Windows Forms, e em caso afirmativo, como posso fazer isso? Quero ter uma janela opaca que não pode ser clicado.

Agradecemos antecipadamente, Christoph

Foi útil?

Solução

Se você está falando a um processo diferente, que você precisa para enviar e recuperar mensagens do Windows.

http://www.c-sharpcorner.com/UploadFile /thmok/SendingWindowsMessageinCSharp11262005042819AM/SendingWindowsMessageinCSharp.aspx

Tenha uma olhada neste link:

Usando mensagens de janela para implementar Sistema Global de Ganchos em C # http://www.codeproject.com/KB/system/WilsonSystemGlobalHooks.aspx

ganchos sistema global permitem que um aplicativo para interceptar mensagens do Windows destinados a outras aplicações. Este sempre foi difícil (impossível, de acordo com MSDN) para implementar em C #. Este artigo tenta implementar ganchos globais de sistema, criando um invólucro DLL em C ++ que os postos mensagens para fila de mensagens do aplicativo hooking.

Outras dicas

Você quer uma janela que não pode ser movido? Set FormBorderStyle a nenhum deles.

Bem, eu ainda não sei muito sobre o seu caso de uso, mas eu vou tomar uma facada de qualquer maneira, e fornecer um exemplo simples.

Eu suponho que você quer controlar algo sobre a forma principal de sua forma flutuante. Para fazer isso, você precisa de uma referência para a sua principal forma de sua forma flutuante. Você faz isso através da criação de uma sobrecarga de construtor em sua forma flutuante que aceita uma instância de sua forma principal, como este:

    public FloatingForm(MainForm mainForm)
    {
        InitializeComponent();
        _mainForm = mainForm;
    }

A forma flutuante contém uma caixa de texto chamado floatingFormTextBox, e um botão denominado Button1. A classe parcial para os flutuantes aparência de formulário como este:

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);
    }
}

O formulário principal contém apenas uma caixa de texto chamado mainFormTextBox. Quando as cargas principais forma, cria-se um exemplo de forma flutuante, passando uma referência para-se a nova sobrecarga construtor da forma flutuante. A classe parcial para os principais olhares de formulário como este:

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();
    }
}

Agora, quando eu colocar algum texto na caixa de texto da forma flutuante e clique no botão, os shows de texto em caixa de texto do formulário principal.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top