Flytta runt kontroller

.NET

2 svar · 282 visningar · startad av P

Medlem sedan jan. 20012 204 inlägg
Trådstart#1

Har en del kontroller(labels) som jag vill att användaren ska kunna flytta på. Hade tänkt att lösa det med följande kod:

            private bool _drag;
            label1.MouseMove += new MouseEventHandler(label1_MouseMove);
            label1.MouseDown += new MouseEventHandler(label1_MouseDown);
            label1.MouseUp += new MouseEventHandler(label1_MouseUp);

        void label1_MouseUp(object sender, MouseEventArgs e)
        {
            _drag = false;
        }

        void label1_MouseDown(object sender, MouseEventArgs e)
        {
            _drag = true;
        }

        void label1_MouseMove(object sender, MouseEventArgs e)
        {
            if (_drag)
            {
                label1.Location = e.Location;
            }
        }

Problemet är att min label1 ritas ut flera gånger och att processorn drar igång rejält, upp till 70 % mot 20 % innan. Finns det någon snyggare lösning?

Medlem sedan mars 20023 561 inlägg
#2

Winforms?

Medlem sedan jan. 20012 204 inlägg
#3

Josef skrev:

Winforms?

Yepps

Det jag vill ha är något i stil med http://www.dbxtra.com/images/Features/Designer1.gif , uppe till höger. Men det kanske är små forms där. Visste inte att man kunde lägga till dem så som det ser ut där, men det kanske går...

435 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
305 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
301 ms — ändringar (db)