İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# Kodla Nesne Üretme ve Kullanmak

C# Kodla Nesne Üretme ve Kullanmak
C# Kodla Nesne Üretme ve Kullanmak
+ - 0

Merhabalar, C# Kodla Nesne Üretme ve Kullanmak yazım ile C# yazılarıma devam ediyorum. Bu yazımda da C# kullanarak kod ile nesneler üretmek ve onlarla çeşitli işler yapmak noktasında bilgiler vereceğim.

 

C# Kodla Nesne Üretme ve Kullanmak

Bu yazım Youtube kanalımda #CodeNight olarak paylaştığım ilk videodaki kodları içerecektir. Video aşağıda….

Kodlar burada…

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace DynamicThings
{
    public partial class DynamicButtonCreate : Form
    {
        public DynamicButtonCreate()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {

        }
        int btn_h = 25;
        int btn_w = 150;
        int x = 0;
        int y = 0;
        int counter = 1;
        void CreateAndAddNewButton(int i1, int i2, bool forFlowPanel = false)
        {
            Point loc = new Point(i1, i2);
            Button btn = new Button(); // buton tanımladık
            btn.Name = "Button" + counter.ToString(); // adını verdik
            btn.Text = "Dinamik BTN " + counter.ToString(); // görünen adını verdik
            btn.Location = loc; // ekranda nerede duracağı
            btn.Size = new Size(btn_w, btn_h); // boyutu
            btn.Click += Btn_Click; // += koyduktan sonra TAB+TAB yapınca otomatik ayarlıyor.
            counter++;
            if (!forFlowPanel)
                panel1.Controls.Add(btn);
            else
                flowLayoutPanel1.Controls.Add(btn);
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="direction"> H for horizontal, V for vertical </param>
        void AddForPanel(string direction)
        {
            CreateAndAddNewButton(x, y);
            if (direction == "H")
            {
                if (x < panel1.Width) x += btn_w + 5;
                if (x + btn_w >= panel1.Width) { x = 0; y += btn_h + 5; }
            }
            else
            {
                if (y < panel1.Height) y += btn_h + 5;
                if (y + btn_h >= panel1.Height) { y = 0; x += btn_w + 5; }
            }
        }
        private void Btn_Click(object sender, EventArgs e)
        {
            Button btn = sender as Button;
            string sss = btn.Name;
            btn.Name = btn.Text;
            btn.Text = sss;
        }
        private void btn_addinflow_Click(object sender, EventArgs e)
        {
            CreateAndAddNewButton(x, y, true);
        }
        private void btn_addinpanel_H_Click(object sender, EventArgs e)
        {
            AddForPanel("H");
        }
        private void btn_addinpanel_W_Click(object sender, EventArgs e)
        {
            AddForPanel("V");
        }
    }
}

İlgili projeyi github’da paylaşma gereği duymadığım için kodları burada veriyorum arkadaşlar. #CodeNight serisine devam edeceğim.

 

Kodlara bakacak olursak;

Burada bir button oluşturuyoruz. Buttonu oluşturup panelde bir yere yerleştiriyoruz. Öyle ki her eklenen button bir sonrakinin altından uygun bir boşluk ile ekleniyor. Yani her ekleme işleminde eklenecek buttonun ekranda nerede duracağını biz belirliyoruz. Onun yanı sırada sıralamayı otomatik olarak yapan flowlayoutpanel yer alıyor.

İstersek flowlayoutpanel’e istersek normal panele ekleme yapabiliriz. Aynı zamanda bir buttonu yatayda mı yoksa dikeyde mi ekleyeceğini seçebiliyoruz. Eğer dikeyde istersek butonlar yukarıdan aşağıya doğru, eğer yatayda istesek butonlar soldan sağa doğru ekleniyorlar.

Ayrıca inceleyebilirsiniz. Dinamik İşlemler

 


C# Kodla Nesne Üretme ve Kullanmak yazımız bu kadar. Temelde kodları paylaşma amacı güttüğü için bir konu anlatımı yok.

Linktree üzerinden bağlantılarıma ulaşabilirsiniz. İşte Burada

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…  C# Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Discord’a katılmayı unutmayın.

Sağlıcakla ve kodla kalın….

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)