Coder

27 Ocak 2014

Datagridview ve grafik chart ilişkisi

Datagridview içindeki verileri grafik üzerinden gösterebilmek için .Net 4.0 ile birlikte gelen toolbox da Data sekmesi içinde Chart kontrolü sayesinde yapabilirsiniz. Bu örnek uygulamada Datagridview kontrolündeki verileri göstermeye çalıştık. Listview gibi benzeri kontroller ile de verileri grafik olarak gösterebilirsiniz.

datagridview-grafik

Resimdeki örnek uygulama için forma bir datagridview ve chart kontrolü ekleyin. Chart kontrolü Series özelliğinden resimdeki gibi name adına sonuc olarak değiştirin.(Bunu neden yaptığımızı kod içinde anlayacaksınız.) Bunları yaptıktan sonra load olayına aşağıdaki kodları yazabiliriz;

chart-kontrolu-kullanimi

[cc lang='csharp' ]
private void Form1_Load(object sender, EventArgs e)
{
try
{
dataGridView1.Rows.Add(“ali”, 85);
dataGridView1.Rows.Add(“veli”, 60);
dataGridView1.Rows.Add(“ayşe”, 50);
dataGridView1.Rows.Add(“ahmet”, 75);
dataGridView1.Rows.Add(“mehmet”, 55);

for (int i = 0; i < dataGridView1.Rows.Count – 1; i++)
{
this.chart1.Series["sonuc"].Points.AddXY(dataGridView1.Rows[i].Cells[0].Value.ToString(), Convert.ToInt32(dataGridView1.Rows[i].Cells[1].Value.ToString()));
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}

[/cc]

[viral-lock][wpdm_file id=22][/viral-lock]

26 Ocak 2014

Datagridview yazıcıdan yazdırmak

Datagridview kontrolü içindeki verilerle birlikte yazdırmak yani yazıcıdan çıktı almak çok kolay. Resimdeki gibi forma; Datagridview, buton, printDocument ekleyip kod kısmına geçebiliriz.

datagridview-yazdirma

[cc lang='csharp' ] private void button1_Click(object sender, EventArgs e)
{
printDocument1.Print();
}

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Bitmap bm = new Bitmap(this.dataGridView1.Width, this.dataGridView1.Height);

dataGridView1.DrawToBitmap(bm, new Rectangle(0, 0, this.dataGridView1.Width, this.dataGridView1.Height));
e.Graphics.DrawImage(bm, 0, 0);
}[/cc]

25 Ocak 2014

Form içinde kontrol boyutlandırma

Çalışma anında form boyutunu arttırdıkça kontrollerin yeri kayarak tasarımı bozulmaktadır. Bu gibi durumlar için form içinde ki kontrollerin özelliklerinde bulunan çapa özelliğini kullanarak çözebilirsiniz.

[wpdm_file id=21]

Örnek olarak resimdeki gibi forma bir kaç tane kontrol ekleyip aşağıdaki kodları uygulayın.
[cc lang='csharp' ]
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Anchor = (AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right);
button1.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right);
groupBox1.Anchor = (AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right);
}
[/cc]

form-kontrol-boyutlandir

04 Ocak 2014

Panel kontrolünü resim olarak yazdırma

Up uzuunn süreden sonra merhaba… Windows form da panel kontrolü yazıcıdan yazdırmak için kontrolün görüntüsünü resim olarak kayıt edip, kayıt edilen o resmi yazdırabiliriz. Diğer VS kontrollerini bu şekilde yazdıra bilirmiyiz ? sorusunu soracak olursanız cevabım evet.

Örnek de panel kontrolünü kullanmamın sebebi; runtime da veya çalıştırmadan önce panel kontrolü içine eklediğimiz zamazingoları direk yazdırabilmek için kullandım. Mesela reçete programında panel içine yazdırılan ürünleri yazıcıdan çıktı almak için döngülerle dönecek yerine resim olarak alıp yazıcıdan basit bir şekilde yazdırabiliriz.

panel-resim-yazdirma

Sözü(yazıyı) fazla uzatmadan örneğe geçecek olursak. Resimdeki gibi forma; panel, button ve panel içine yazdırılması için bir kaç tane label sallayın. Buton clik olayına gelerek aşağıdaki kodları yapıştırın. Gerekli açıklamalar kodlar içinde verilmiştir.

[cc lang='csharp' ] private void btnYazdir_Click(object sender, EventArgs e)
{
int genislik = panel1.Size.Width;
int yukseklik = panel1.Size.Height;

using (Bitmap bmp = new Bitmap(genislik, yukseklik))
{
panel1.DrawToBitmap(bmp, new Rectangle(0, 0, genislik, yukseklik));
bmp.Save(“resim.png”, ImageFormat.Png);
}

// buraya kadar olan kısımda Panel’in resmini oluşturuyoruz.

PrintDocument prt = new PrintDocument();
prt.PrintPage += new PrintPageEventHandler(resmiYazdir);
prt.Print();

// Oluşturduğumuz resmi burada aşağıdaki metod yardımı ile yazdırıyoruz.

}

void resmiYazdir(object o, PrintPageEventArgs e)
{
System.Drawing.Image i = System.Drawing.Image.FromFile(“resim.png”);
Point p = new Point(0, 0);
e.Graphics.DrawImage(i, p);

}[/cc]

[wpdm_file id=20]

Powered by WordPress