Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
570
Tıklama
0
Öne Çıkarma
Basit Bir C# Ödevi Yardım Gerekiyor
İ
11 yıl (35 mesaj)
Onbaşı
Konu Sahibi

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.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





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

W
11 yıl (1760 mesaj)
Binbaşı

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);


Bu mesaja 1 cevap geldi.
İ
11 yıl (35 mesaj)
Onbaşı
Konu Sahibi

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 :)



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.