none
FixedDialog RRS feed

  • Pergunta

  • Eu preciso de uma propriedade igual o FixedDialog que não deixar o usuario sair com o mouse do form mas essa propriedade só funciona para o form, quero adicionar em um button tipo para o usuário não conseguir sair do button 
    terça-feira, 2 de junho de 2015 19:21

Respostas

  • Opa, tudo bom Fabio?

    Você precisa limitar o movimento do mouse no botão do form? Porque criar um fluxo em sue programa que só permite uma única ação e ainda assim exigir interação do usuário? Uma alternativa seria limitar ao form inteiro como você disse, seria bem mais fácil de fazer. De qualquer forma, você pode tentar com o evento mouseMove do seu botão, reescrevendo a posição da propriedade position do objeto cursor. O código abaixo é um exemplo que peguei dessa thread do Stack Overflow:

     private int X = 0;
     private int Y = 0;
    
     private void button1_MouseLeave(object sender, EventArgs e)
        {
            Cursor.Position = new Point(X, Y);
        }
    
        private void button1_MouseMove(object sender, MouseEventArgs e)
        {
            if (Cursor.Position.X < this.Bounds.X + 50 )
                X = Cursor.Position.X + 20;
            else
                X = Cursor.Position.X - 20;
    
            if (Cursor.Position.Y < this.Bounds.Y + 50)
                Y = Cursor.Position.Y + 20;
            else
                Y = Cursor.Position.Y - 20;           
        }

    Espero que isso possa ter lhe ajudado.

    Sucesso!

    sexta-feira, 5 de junho de 2015 11:51

Todas as Respostas

  • Opa, tudo bom Fabio?

    Você precisa limitar o movimento do mouse no botão do form? Porque criar um fluxo em sue programa que só permite uma única ação e ainda assim exigir interação do usuário? Uma alternativa seria limitar ao form inteiro como você disse, seria bem mais fácil de fazer. De qualquer forma, você pode tentar com o evento mouseMove do seu botão, reescrevendo a posição da propriedade position do objeto cursor. O código abaixo é um exemplo que peguei dessa thread do Stack Overflow:

     private int X = 0;
     private int Y = 0;
    
     private void button1_MouseLeave(object sender, EventArgs e)
        {
            Cursor.Position = new Point(X, Y);
        }
    
        private void button1_MouseMove(object sender, MouseEventArgs e)
        {
            if (Cursor.Position.X < this.Bounds.X + 50 )
                X = Cursor.Position.X + 20;
            else
                X = Cursor.Position.X - 20;
    
            if (Cursor.Position.Y < this.Bounds.Y + 50)
                Y = Cursor.Position.Y + 20;
            else
                Y = Cursor.Position.Y - 20;           
        }

    Espero que isso possa ter lhe ajudado.

    Sucesso!

    sexta-feira, 5 de junho de 2015 11:51
  • E ai FabioXD? Tudo bom? Te ajudou de alguma forma a sugestão que eu tinha feito?

    Aquele abraço!

    segunda-feira, 15 de junho de 2015 17:11