Strona 1 z 1

c# - wydarzenie mouseclick na panelach

: 29 listopada 2008, 12:26
autor: nocturn
Hej. Tworze sobie tablice Paneli w ten sposob:

Kod: Zaznacz cały

private void button4_Click(object sender, EventArgs e)
        {

            for (int i = 0; i < numericUpDown3.Value; i++)
            {
                Panel nowy = new Panel();
                nowy.BackColor = System.Drawing.Color.Black;
                nowy.Location = new System.Drawing.Point(100 + 100 * i, 200);
                nowy.Size = new System.Drawing.Size(5, 5);
                nowy.MouseMove += new MouseEventHandler(nowy_MouseMove);
                nowy.MouseDown += new MouseEventHandler(nowy_MouseDown);
                nowy.MouseUp += new MouseEventHandler(nowy_MouseUp);
                nowy.MouseClick += new MouseEventHandler(nowy_MouseClick);
         
                nowy.Cursor = Cursors.SizeAll;
                panele.Add(nowy);

                panel1.Controls.Add(nowy);
                
            }

            panel1.Invalidate();

        }
Te panele pojawiaja sie na duzym panelu, na ktorym sobie wykonuje operacje. Chcialbym teraz aby po kliknieciu na jeden z tych stworzonych mniejszych panleli, do kontroli NumericUpDown1 wpisalo mi sie polozenie danego panelu (ewentualnie polozenie kursora myszy).
Robilem cos takiego:

Kod: Zaznacz cały

private void textBox4_MouseClick(object sender, MouseEventArgs e)
        {
            numericUpDown1.Value = e.X;
            numericUpDown2.Value = e.Y;
        }
Jednak dziala, tylko przypierwszym klikniecu. Jak puszcze przycisk myszy to wpisuje do kontrolki jakies inne liczby.

ten sam

: 23 grudnia 2008, 22:39
autor: python
Czy używasz Windowsa?
Na zdarzeniu OnMouseDown masz pozycję kursora.