picturebox paint eventi olmadan yani ben bir fonksiyonun icinden cagircam onu

 public void Ciz()
{
        Graphics g=pictureBox1.CreateGraphics();
        Pen kalem = new Pen(Color.Red, 5);   
        g.DrawLine(kalem , 10,10,30,30);
}

Bu sekilde cizdirmek istiyorum fakat olmuyor pictureboxda gozukmuyor nasıl yapabilirim.

soruldu: 28 Tem '16, 13:09

engineers's gravatar image

engineers
366557794
cevap kabul oranı: 23%

değiştirildi: 28 Tem '16, 13:09


Ciz metodunda bir sorun gözükmüyor. Bu Ciz metodunun buttona basıldığında çalışıp çalışmadığını kontrol eder misin?

Eğer form load yada constructor ta bu metodu çağırıyor isen kontrolü göncellenmemesi ile çizilmiyor olabilir. Bu durumu aşabilmek için formun print eventini override ederek deneme yapabilirsin.

Kodunu aşağıdaki gibi değiştirdiğinde çalışacaktır.

public void Ciz()
{
     Graphics g = pictureBox1.CreateGraphics();
     Pen kalem = new Pen(Color.Red, 5);
     g.DrawLine(kalem, 10, 10, 30, 30);
     pictureBox1.Update(); //bu satırı ekledim
}

protected override void OnPrint(PaintEventArgs e)
{
    base.OnPrint(e);
    Ciz();
}

İyi çalışmalar

permanent link

cevaplandı: 29 Tem '16, 03:37

M%C3%BCsl%C3%BCm%20%C3%96ZT%C3%9CRK's gravatar image

Müslüm ÖZTÜRK
10.8k103691
cevap kabul oranı: 27%

değiştirildi: 29 Tem '16, 03:56

Form load dan kaynaklanıyormus cok saol button ile tetikleyince calıstı :)

(29 Tem '16, 04:04) engineers engineers's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×241

Soruldu: 28 Tem '16, 13:09

Görüntüleme: 147 kez

Son güncelleme: 29 Tem '16, 04:04

powered by BitNami OSQA