none
c# butonu drag drop yapmak RRS feed

Yanıtlar

  • Bu linkte istediğin kodlar ve hazırlanışı mevcut. İncele isteren.

    Yada aşağıda benim daha önce kullandığım..

    private void butonEkle()
            {
               
                Button btn = new Button();
                btn.MouseDown += new MouseEventHandler(btn_mouseDown);
                btn.MouseUp += new MouseEventHandler(btn_mouseUp);
                btn.MouseMove += new MouseEventHandler(btn_mouseMove);
    
                this.Controls.Add(btn);
    
            }
            Point ilkKonum;
            bool butonSuruklenmeDurumu = false;
            void btn_mouseDown(object sender, MouseEventArgs e)
            {
                seciliButton = (Button)sender;
    
                butonSuruklenmeDurumu = true;
                ilkKonum = e.Location;
                seciliButton.Cursor = Cursors.SizeAll;
            }
    
            void btn_mouseUp(object sender, MouseEventArgs e)
            {
                butonSuruklenmeDurumu = false;
                seciliButton.Cursor = Cursors.Default;
            }
    
            void btn_mouseMove(object sender, MouseEventArgs e)
            {
                seciliButton = (Button)sender;
    
                if (butonSuruklenmeDurumu)
                {
                    seciliButton.Left = e.X + seciliButton.Left - (ilkKonum.X);
                    seciliButton.Top = e.Y + seciliButton.Top - (ilkKonum.Y);
                }
            }

    1 Ekim 2016 Cumartesi 05:49

Tüm Yanıtlar

  • Bu linkte istediğin kodlar ve hazırlanışı mevcut. İncele isteren.

    Yada aşağıda benim daha önce kullandığım..

    private void butonEkle()
            {
               
                Button btn = new Button();
                btn.MouseDown += new MouseEventHandler(btn_mouseDown);
                btn.MouseUp += new MouseEventHandler(btn_mouseUp);
                btn.MouseMove += new MouseEventHandler(btn_mouseMove);
    
                this.Controls.Add(btn);
    
            }
            Point ilkKonum;
            bool butonSuruklenmeDurumu = false;
            void btn_mouseDown(object sender, MouseEventArgs e)
            {
                seciliButton = (Button)sender;
    
                butonSuruklenmeDurumu = true;
                ilkKonum = e.Location;
                seciliButton.Cursor = Cursors.SizeAll;
            }
    
            void btn_mouseUp(object sender, MouseEventArgs e)
            {
                butonSuruklenmeDurumu = false;
                seciliButton.Cursor = Cursors.Default;
            }
    
            void btn_mouseMove(object sender, MouseEventArgs e)
            {
                seciliButton = (Button)sender;
    
                if (butonSuruklenmeDurumu)
                {
                    seciliButton.Left = e.X + seciliButton.Left - (ilkKonum.X);
                    seciliButton.Top = e.Y + seciliButton.Top - (ilkKonum.Y);
                }
            }

    1 Ekim 2016 Cumartesi 05:49
  • teşekkür ederim.

    benim yapmak istediğim şöyle. bir tane ana butonu olacak. o butonu sürükle bırak yaptığımda formun herhangi bir noktasında ikinci bir aynı özellikte butonumun olmasını istiyorum. 

    • Düzenleyen symkontrol 1 Ekim 2016 Cumartesi 07:32
    1 Ekim 2016 Cumartesi 07:28
  • O zaman sürüklenme işi bittikten sonra ilk konuma yeni buton koyabiliriz.

    Yukarıdaki kodda yapılacak değişiklik şu olmalı.

    void btn_mouseUp(object sender, MouseEventArgs e)
    {
    butonSuruklenmeDurumu = false;
    seciliButton.Cursor = Cursors.Default;
    kopyaButonuEkle(ilkKonum);
    }
    
    prive void kopyaButonEkle(Point ilkKonumu)
    {
    Button btn = new Button();
    btn.Text = seciliButon.text;
    btn.Location = new Location(ilkKonumu);
    this.Control.Add(btn);
    }


    • Yanıt Olarak Öneren AhmetÜMİT 9 Ekim 2016 Pazar 18:17
    • Yanıt Önerisini Geri Alan AhmetÜMİT 9 Ekim 2016 Pazar 18:17
    6 Ekim 2016 Perşembe 10:20