Şimdi Ara

Basit Bir C# Ödevi Yardım Gerekiyor

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
507
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaşlar,

    C#'da yapılması gereken küçük bir ödevim var. Bu konuda yardımcı olabilirseniz minnettar kalırım.

    İstenen şey şu;

    Form üzerinde
    Herhangi ebatta bir çember/daire çizilecek
    Kullanıcıdan ise bir açı değeri istenecek

    Girilen bu açı değerine göre temsil ettiği daire dilimi çizilecek

    Mesela 60 değeri girilirse

    60/360 = 1/6.
    Yani bir çemberin 1/6 lık dilim çizdirilecek.

    Yardımlarınız için teşekkürler.



    < Bu mesaj bu kişi tarafından değiştirildi izmirksk -- 25 Kasım 2014; 18:31:33 >



  • public partial class Form1 : Form 
    {

    int CAP = 10;

    public Form1()
    {
    InitializeComponent();
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    try
    {
    double aci = Convert.ToDouble(textBox1.Text);
    ciz(aci % 360, (int)(aci / 360));
    }
    catch
    {

    }
    }

    void ciz(double aci, int adet)
    {
    Graphics g = panel1.CreateGraphics();
    g.Clear(Color.White);
    for (int i = 0; i < adet; i++)
    {
    g.DrawArc(Pens.Black, new Rectangle(new Point(10, 10), new Size(CAP, CAP)), 0, 360);
    }
    g.DrawArc(Pens.Black, new Rectangle(new Point(10, 10), new Size(CAP, CAP)), 0, (float)aci);
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    int ufak = panel1.Width;
    if (panel1.Height < ufak)
    {
    ufak = panel1.Height;
    }
    CAP = (ufak - 20);
    }

    }


    Senin işini gören temel fonksiyon şu;
    void ciz2(double aci, int cap) 
    {
    Graphics g = panel1.CreateGraphics();
    g.Clear(Color.White);
    g.DrawArc(Pens.Black, new Rectangle(new Point(10, 10), new Size(cap, cap)), 0, (float)aci);
    }


    Kullanım örneği;
    ciz2(Convert.ToDouble(textBox1.Text), 50);




  • quote:

    Orijinalden alıntı: welrocken

    public partial class Form1 : Form 
    {

    int CAP = 10;

    public Form1()
    {
    InitializeComponent();
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    try
    {
    double aci = Convert.ToDouble(textBox1.Text);
    ciz(aci % 360, (int)(aci / 360));
    }
    catch
    {

    }
    }

    void ciz(double aci, int adet)
    {
    Graphics g = panel1.CreateGraphics();
    g.Clear(Color.White);
    for (int i = 0; i < adet; i++)
    {
    g.DrawArc(Pens.Black, new Rectangle(new Point(10, 10), new Size(CAP, CAP)), 0, 360);
    }
    g.DrawArc(Pens.Black, new Rectangle(new Point(10, 10), new Size(CAP, CAP)), 0, (float)aci);
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    int ufak = panel1.Width;
    if (panel1.Height < ufak)
    {
    ufak = panel1.Height;
    }
    CAP = (ufak - 20);
    }

    }


    Senin işini gören temel fonksiyon şu;
    void ciz2(double aci, int cap) 
    {
    Graphics g = panel1.CreateGraphics();
    g.Clear(Color.White);
    g.DrawArc(Pens.Black, new Rectangle(new Point(10, 10), new Size(cap, cap)), 0, (float)aci);
    }


    Kullanım örneği;
    ciz2(Convert.ToDouble(textBox1.Text), 50);


    Hocam çok teşekkür ederim.
    Çok yardımcı oldun. Sağol varol :)




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.