none
Como arrastar o MDIParent RRS feed

  • Pergunta

  • Boa tarde pessoal,

    Estou desenvolvendo uma aplicação em C# utilizando um form com o FormBorderStyle = None. Criei uma barra personalizada com os botões de fechar minimizar e maximizar, mas não consigo arrastar o form. Encontrei, aqui no fórum, um código que arraste o form, mas quando coloco IsMdiContainer = True, perco a função arrastar.

    Código para arrastar:

    public partial class Form1 : Form
        {
            int X = 0;
            int Y = 0;
    
            public Form1()
            {
                InitializeComponent();
                this.MouseDown += new MouseEventHandler(Form1_MouseDown);
                this.MouseMove += new MouseEventHandler(Form1_MouseMove);
            }
    
            private void Form1_MouseDown(object sender, MouseEventArgs e)
            {
                if (e.Button != MouseButtons.Left) return;
                X = this.Left - MousePosition.X;
                Y = this.Top - MousePosition.Y;
            }
    
            private void Form1_MouseMove(object sender, MouseEventArgs e)
            {
                if (e.Button != MouseButtons.Left) return;
                this.Left = X + MousePosition.X;
                this.Top = Y + MousePosition.Y;
            }
    }
    Grato.

    quinta-feira, 5 de junho de 2014 20:06

Respostas

  • Bom dia JPSF12,

    Tem janelas no windows que qndo maximizadas não podem ser arrastadas, somente quando está minimizada, ja tentou botar o comando 

    Me.MaximizeBox = False

    Tenta ver os links abaixo.

    Da uma olhada na página 25 e veja se é o que precisa:

    http://repositorium.sdum.uminho.pt/bitstream/1822/7655/1/visual-cs.pdf

    Mais um link com possível solução:

    http://www.macoratti.net/09/08/c_mdi1.htm

    Espero que te ajude.

    Att,


    sexta-feira, 6 de junho de 2014 15:05
    Moderador