webForumDet fria alternativet

Flytta runt kontroller

.NET

2 svar · 270 visningar · startad av P

Medlem sedan jan. 20012 204 inlägg
Frågan#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...

269 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
138 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)