none
Listbox Kordinat Ekleme

    Soru

  • Fare ile tıkladığım alanların kordinatlarını listboxa aktarıp kırmızı çizgi ile noktalar arası çizgi çekmem lazım nasıl yapabilirim şimdiden teşekkürler ... 
    08 Haziran 2012 Cuma 15:20

Yanıtlar

  • Softingnet ,Merhabalar
    Buna benzer bir örnek var ben size onun kodlarını vereyim umarım işinize yarar...
    Form1 Mouse_Down olayına yazmanız gerekenler;
     private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
      {
       Point p=new Point();
       p.X = e.X;
       p.Y = e.Y;
       listBox1.Items.Add(p);
       Point onceki;
       Graphics g;
       if (listBox1.Items.Count > 1)
       {
        onceki = (Point) listBox1.Items[listBox1.Items.Count - 2];
        g = this.CreateGraphics();
        g.DrawLine(new Pen(Color.Red), onceki.X, onceki.Y, p.X, p.Y);
        g.Dispose();
       }
      }

    Bahsettiğiniz kırmızı çizgiyi yapmanız için Form1_Paint olayına yazmanız gerekenler 
     private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
      {
       int i;
       for (i = 1;i<=listBox1.Items.Count - 1;i++)
       {
        Point p, onceki;
        p = (Point) listBox1.Items[i];
        onceki =(Point)  listBox1.Items[i - 1];
        e.Graphics.DrawLine(new Pen(Color.Red), onceki.X, onceki.Y, p.X, p.Y);
       }
      }

    Kolay Gelsin...  

    erenbozarik[at]hotmail[nokta]com

    08 Haziran 2012 Cuma 15:29
  • private void button1_Click(object sender, System.EventArgs e)
      {
       listBox1.Items.Remove(listBox1.SelectedItem);
       this.Invalidate();
      }

    Bu şekilde dediğinizi yapabilirsiniz 
    Kolay Gelsin...

    erenbozarik[at]hotmail[nokta]com

    08 Haziran 2012 Cuma 15:39
  • Softingnet, 
    Keşke konuları ayrı ayrı sorsaydınız :)) dediğinizi aşağıdaki şekilde yapabilirsiniz..
     private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
      {
       int ind;
       ind = (sender as ListBox).SelectedIndex; //Seçili elemanın indexi
       //diğer listelerde de aynı elemanı seç
       listBox1.SelectedIndex = ind;
       listBox2.SelectedIndex = ind;
       listBox3.SelectedIndex = ind;
    }
    bunu her listbox ın select index changed olayına uygulayabilirsiniz...
    Umarım yardımcı olmuştur ... 
    Kolay Gelsin 

    erenbozarik[at]hotmail[nokta]com

    08 Haziran 2012 Cuma 15:48

Tüm Yanıtlar

  • Softingnet ,Merhabalar
    Buna benzer bir örnek var ben size onun kodlarını vereyim umarım işinize yarar...
    Form1 Mouse_Down olayına yazmanız gerekenler;
     private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
      {
       Point p=new Point();
       p.X = e.X;
       p.Y = e.Y;
       listBox1.Items.Add(p);
       Point onceki;
       Graphics g;
       if (listBox1.Items.Count > 1)
       {
        onceki = (Point) listBox1.Items[listBox1.Items.Count - 2];
        g = this.CreateGraphics();
        g.DrawLine(new Pen(Color.Red), onceki.X, onceki.Y, p.X, p.Y);
        g.Dispose();
       }
      }

    Bahsettiğiniz kırmızı çizgiyi yapmanız için Form1_Paint olayına yazmanız gerekenler 
     private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
      {
       int i;
       for (i = 1;i<=listBox1.Items.Count - 1;i++)
       {
        Point p, onceki;
        p = (Point) listBox1.Items[i];
        onceki =(Point)  listBox1.Items[i - 1];
        e.Graphics.DrawLine(new Pen(Color.Red), onceki.X, onceki.Y, p.X, p.Y);
       }
      }

    Kolay Gelsin...  

    erenbozarik[at]hotmail[nokta]com

    08 Haziran 2012 Cuma 15:29
  • Eren Hocam bu kod işime yarıyor ama benim yapmak istediğim bir şey daha var listbox da bulunan seçili itemi sil butonuna basınca hem çizgiyi silecek hemde itemi bunu nasıl yapabilirim yardımlarınız için teşekkürler... 
    08 Haziran 2012 Cuma 15:37
  • private void button1_Click(object sender, System.EventArgs e)
      {
       listBox1.Items.Remove(listBox1.SelectedItem);
       this.Invalidate();
      }

    Bu şekilde dediğinizi yapabilirsiniz 
    Kolay Gelsin...

    erenbozarik[at]hotmail[nokta]com

    08 Haziran 2012 Cuma 15:39
  • Hocam ben projemde 3 tane listbox kullanıyorum bu koordinatları yazdırdığım kutulardan birinde eleman seçili ise diğer kutularda da aynı elemanlar seçili olmalı bunu nasıl yapabilrim ... 
    08 Haziran 2012 Cuma 15:43
  • Softingnet, 
    Keşke konuları ayrı ayrı sorsaydınız :)) dediğinizi aşağıdaki şekilde yapabilirsiniz..
     private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
      {
       int ind;
       ind = (sender as ListBox).SelectedIndex; //Seçili elemanın indexi
       //diğer listelerde de aynı elemanı seç
       listBox1.SelectedIndex = ind;
       listBox2.SelectedIndex = ind;
       listBox3.SelectedIndex = ind;
    }
    bunu her listbox ın select index changed olayına uygulayabilirsiniz...
    Umarım yardımcı olmuştur ... 
    Kolay Gelsin 

    erenbozarik[at]hotmail[nokta]com

    08 Haziran 2012 Cuma 15:48
  • Teşekkürler Hocam :))
    08 Haziran 2012 Cuma 15:49