Skip to content

Yararli oldugunu dusundugum konulari turkce kaynak olarak buraya ekliyorum sizin de eklememi istediginiz konu olursa issue acabilirsiniz.

License

Notifications You must be signed in to change notification settings

b-tekinli/Yazilim-Teknikleri-ve-Diger-Yararli-Turkce-Kaynaklar

Repository files navigation

Yazılım Teknikleri ve Diğer Yararlı Türkçe Kaynaklar

Software techniques and other useful Turkish resources


🛠️ CRUD

Veritabanı Kayıt (Ekleme, Okuma, Güncelleme ve Silme) İşlemleri

crud

o Programlamada oluşturma, okuma, güncelleme ve silme, veri depolamada kullanılan dört temel fonksiyondur. Terim ilk kez James Martin'in 1983 tarihli kitabı Managing the Data-base Environment'ta kullanılmıştır.

  • Create ↔️ Yaratma, oluşturma, ekleme
  • Read ↔️ Okuma
  • Update ↔️ Güncelleme
  • Delete ↔️ Silme

Bir programlama dili veya uygulama CRUD ifadesi ile birlikte anılıyorsa uygulamanın, kodun ya da ürünün temelinde veritabanına yönelik işlemlerinin yer aldığını anlarız.

Örneğin: Python veritabanı işlemleri şeklinde yapacağımız bir arama veritabanına yönelik pek çok konuyu kapsayabilecekken Python CRUD işlemleri dediğimizde konumuzu veritabanına verinin eklenmesi ve bu verinin yönetimi bağlamında sınırlandırmış oluruz.




⚙️ OOP

oop

Gerçek dünyadaki nesnelerin tasarımı sınıf içinde yapılır.

Sınıftan nesne üretilip değişiklik yapılmak istendiğinde tüm programda değişiklik yapmak gerekmez sadece oluşturulan nesnenin sınıf içinde değişiklik yapmak yeterlidir.

Oluşturulan nesneler birbirinden bağımsız olduğu için bilgi gizleme olanağı artar.

Örneğin: A nesnesi B nesnesinin özelliklerini kullanamaz ve erişemez.

Nesne oluşturma bir sınıf içerisinde gerçekleştirilir ve bu kodlar başka projelerde kullanılabilir.

Örneğin: Bir A nesnesi oluşturduysak bunu birçok yerde kullanabiliriz.

Sınıflar oluşturarak daha az kod oluşturup daha fazla iş yapıp kod tekrarı önlenir.

Örneğin: İnsan sınıfında ad, soyad, yaş vb. gibi özellikleri bir defa oluşturup istediğimiz kadar kullanabiliriz.


Class (Sınıf):

Gerçek dünyadaki nesnelerin özellikleri ve davranışları sınıflara aktarılır. Bu durumların sınıflara aktarılması metodlarla (fonksiyonlarla) olur. Sınıfta tanımlanan metot ve değişkenlere sınıfın üyeleri denir. Değişkenler ad, soyad, yaş gibi kullanacağımız bilgileri saklamaktadır. Metotlar ise, kullanıcı kaydı, iki sayısının toplamı gibi bir görevi yerine getiren alt programlardır. Sınıf soyut bir kavramdır doğrudan kullanılamaz nesne oluşturup kullanabiliriz.


Nesne (Object):

İçinde veri saklayan ve bu veriler üzerinde işlem yapacak olan metodlar bulunduran bileşenlerdir. Nesneler her uygulamada tekrar kullanılabilir. Nesne oluşturduğumuzda hafızada yer kaplar.


Nesne Yönelimli Programlama Özellikleri

  1. Abstraction - Soyutlama ↔️ Bir sınıfta davranış ve özelliklerin tanımlanmasına soyutlama diyoruz. Örneğin: Araba sınıfında rengi, modeli, tekerlek sayısı, motor gücü, özellikleridir(property). Hızlanması, fren yapması, durması davranışlarıdır ve metotlar (fonksiyonlar) ile tanımlanır.

  1. Inheritance - Miras Alma / Kalıtım ↔️ Sınıflar birbirinden türeyebilir. Alt sınıf üst sınıfın özelliklerini alabilir. Örneğin: Araba ve bisiklet sınıflarında ortak özellik olarak tekerlek sayısı, hızı gibi özelliklerini tekrar yazmak yerine bu özellikleri içeren bir sınıf oluşturup miras alabiliriz. Bir sınıftan birden fazla miras alınıyorsa buna çoklu kalıtım denir.

  1. Polymorphism - Çok Biçimlilik ↔️ Alt sınıflar üst sınıfın gösterdiği davranışları göstermek zorunda değildir. Alt sınıfların farklı davranışları göstermesine Çok biçimlilik denilmektedir. Örneğin: Gemi ve araba sınıflarını ele aldığımızda bunların hareket tipleri bulunmaktadır. Gemi su üzerinden giderken araba karada hareket etmektedir. Kısaca farklı nesnelerin (araba ve gemi gibi) aynı olaya (hareket tipine) farklı şekilde cevap vermesidir.

  1. Encapsulation - Kapsülleme ↔️ Davranış ve özellikler sınıfta soyutlanarak kapsüllenir. Kapsülleme ile hangi özellik ve davranışın dışarıya sunulup sunulmayacağını belirleriz. Örneğin: İnsan sınıfında yemek alışkanlığı bizi ilgilendirmiyorsa bunu kapalı (private) yapıp gizleriz. Ancak ad soyad gibi bilgiler bizi ilgilendirdiği için bunlar açık bırakılır. Bu olaya bilgi saklama yani kapsülleme denilmektedir. Bilgi saklama erişim belirteçleri (public, private, protected, internal) ile gerçekleştirilir.

Erişim Belirteçleri

  • public: Herkesin kullanabileceği özellik ve davranışlardır.
  • private: Sadece kendi sınıfta kullanılabilen özellikler ve davranışlardır.
  • protected: Sınıf içinde ve miras alınan alt sınıflarda kullanılır.
  • internal: Aynı program içerisinden erişilebilir, fakat farklı bir program içerisinden erişilemez.


📚 Prensipler

Robert C. Martin (Uncle Bob)

solid

Single Responsibility :left_right_arrow: Tek Sorumluluk Prensibi / İlkesi


Open Closed :left_right_arrow: Açık Kapalı Prensibi / İlkesi


Liskov Substitution :left_right_arrow: Liskov’un Yerine Geçme Prensibi / İlkesi


Interface Segregation :left_right_arrow: Arayüzlerin Ayrışması ve Ayrılması Prensibi


Dependency Inversion :left_right_arrow: Bağımlılıkların Tersine Çevrilmesi Prensibi
  1. Single Responsibility Principle:
  • Bir sınıfın, bir metodun, her bir iş yapan yapının tek bir görevi olması gerektiğini savunur.

  • Bir metod sadece kendi görevini yapmalı, bir sınıf sadece o sınıfla ilgili metodları, alanları, özellikleri barındırmalıdır.

  • Birden fazla işle veya katmanla ilişkilendirilmemeli, her bir yapının tek bir sorumluluğu olmalıdır.

Örnek: Bir restoranda tüm işi tek bir kişi yapsaydı nasıl olurdu? Garsonluk, temizlik, yemekler ve bir de hesaba bakmak var tabii. Görseldeki örnek gibi her şey çok karışırdı değil mi? Peki o restoranda çalışan birçok kişi olsa ve herkesin farklı görevleri olup herkes kendi işini yapsa? İşte Single Responsibility Principle (Tek Sorumluluk İlkesi) de bu şekildedir.

single responsibility

Yazılım tarafında örnek verecek olursak her class’ın tek bir tane sorumluluğu olmalıdır diyebiliriz. Product sınıfında product dışında hiçbir class özelliği olmamalıdır. Özetle, SOLID Prensiplerinin S’si her class tek bir sorumluluktan ibaret olmalıdır diyor.


  1. Open Closed Principle:
  • Bir yazılımda yeni bir özellik talep edildiğinde mevcut kodların değiştirilmeden yeni özelliğin geliştirilebiliyor olması gerekmektedir.

  • Yeni özellik, geliştirme istediğinde yazılımımız bize direnç göstermemelidir.

  • Yazılım değiştirilmeye kapalı, geliştirilmeye açık olmalıdır.

Örnek: Bilgisayarımızda ram yetersiz olduğunda bilgisayarın hiçbir yerini bozmadan işlemci ya da klavye gibi farklı yerlerine dokunmadan sadece ram takılan kısma gelip ekleyebiliyoruz.

Görselde de gördüğünüz gibi kodlarımızın tamamı dikdörtgen ve kareden oluşuyor olsa ona yeni bir özellik eklemek istesek alttaki karenin yanına 1 kare daha ekleyip ortadaki büyük kareyi elde etmiş üstelik bunu hiçbir koda dokunmadan yapmış oluruz.

Fakat diğer yandan kodlarımız ortadaki kareden oluşuyor olsa ve onu Open Closed İlkesine göre yapmamış olsak bir özellik çıkartmak istediğimizde karenin 4 köşesinden de kesmemiz gerekir ki daire şeklini ancak alabilsin..

open closed

Yazılım tarafında da olay aynen bu şekilde olmalıdır. Yaptığımız programa yeni bir özellik ekleyeceğimiz zaman kodlarımızın hiçbir yerine dokunmadan o özelliği pıt pıt entegre edebiliyor olmalıyız.


  1. Liskov Substitution Principle:
  • Hiçbir değişikliğe ihtiyaç duymadan alt sınıfları, miras aldıkları – türedikleri üst sınıfların yerine kullanabilmeliyiz.

  • Alt sınıflar miras aldıkları üst sınıfların tüm özelliklerini barındırıyor olabilirler.

  • Sadece birbirine benziyor diye sınıflar birbirinden miras (kalıtım) almamalıdır. Alt sınıf üst sınıfın özelliklerini, metodlarını mutlaka kullanmalıdır ve yer değiştirdiğinde doğru sonuçları verecek şekilde bozulmadan çalışmalıdır.

Örnek: Yukarıda son paragrafta kalın ve italik yazdığım cümleyi tekrar okumanızı rica edip görselden örnek verecek olursak şöyle açıklayabiliriz: Canlı ve oyuncak ördeğin tabii ki yapabildikleri bazı şeyler kısıtlıdır. Bir metodumuz olduğunu düşünün bu metotta yüzmek, ses çıkartmak ve uçmak olsun. Her 2 ördek ses çıkartabilir oyuncak ördeğe bastığımızda ses çıkartacaktır. 2 ördek de yüzebilir oyuncak ördeği su üzerine koyduğumuzda suyun dibine çökmeyecektir. Fakat uçma konusunda oyuncak olan doğal olarak uçamayacaktır. Dolayısıyla yazılım kısmında da sırf 2 ördek birbirine benziyor diye miras aldığımız zaman oyuncak ördeğin uçma fonksiyonu bize hata fırlatacaktır ya da çalışmayacak, boş kalacaktır.

liskov substitution


  1. Interface Segregation Principle:
  • Arayüzü implement eden sınıfların gereksiz metod bulundurmaması gerekir.

  • Sorumlulukları tek bir arayüze tanımlamak yerine daha özelleştirilmiş birbirinden ayrı arayüzler oluşturmak gerekir.

  • Arayüzler birbirinden ayrılmadığında bu arayüzü implement eden sınıflarda gereksiz metodlar veya özellikler olacaktır. Ortak olmayan her bir sorumluluk için ayrı bir arayüz oluşturulması gerekmektedir.

Örnek: Düşünün ki bir araba üreticisisiniz. Arabanıza default (varsayılan) olarak gaza bas, frene bas ve müzik çalar gibi özellikler vereceksiniz. Bu özellikleri bir arayüzde topladınız ve Audi marka bir arabaya implement ettiniz. Fakat daha düşük model bir araba olan Murat 131’ e de bu arayüzü implement etseniz o arabada müzik çalar özelliği olmadığından müzik çalar kısmına gereksiz, boş düğmeler eklemek zorunda kalırsınız. Yani interfaceler içerisine yazılan şeyleri zorunlu hale getirdiği için bu özelliği desteklemeyen bir arabaya müzik çaları default olarak koymak zorunda olursunuz. Bu durumda Audi’yi ayrı Murat131’i ayrı implement etmeniz gerekli. Ortak olan özellikleri aynı arayüzde ortak olmayanları ise ayrı arayüzlere böl, parçala… Kısacası, SOLID Prensiplerinin I’sı senin bir özelliğin ortak değilse sen de bu ortak olmayan özelliği ayrıştır diyor.

interface segregation


  1. Dependency Inversion Principle:
  • Sınıflar arasındaki bağımlılık en aza indirgenmelidir.

  • Üst sınıflar, alt sınıflara bağımlı olmamalıdır. Tüm somut sınıflar soyutlanma yöntemi ile bağımlılıkları azaltılmalıdır.

  • Alt sınıflardaki yapılacak değişiklikler üst sınıfları etkilememelidir.

    o Peki, bütün bu sorunlardan kurtulmanın yolu nedir ?
    Cevap: Yüksek seviye ve düşük seviye sınıflar arasında bir soyutlama katmanı oluşturabiliriz.
    Üst Seviye Sınıflar -> Soyutlama Katmanı -> Düşük Seviye Sınıfları
    Örnek: Mobilyaları zemine sabitlenmiş bir ev olduğunu düşünün hiçbir eşyasını yerinden dahi oynatamadığınız bir ev ne kadar mantıklı olabilir ki? Burada tasarımsal bir problemin olduğu aşikâr. Bir örnek daha vermek gerekirse; evinizdeki ampul patladığında koskoca elektrik tesisatını değiştirdiğinizi düşünün. Yani büyük modül (elektrik tesisatı) küçük modüle (ampul) bağlı olmamalı her ikisi de soyut kavrama (lamba –duy ve ampul-) bağlı olmalı. Üstelik burada, ampulün kaç Watt olduğu (detay), lambanın duy kısmını (soyut) ilgilendirir mi?

dependency inversion

Yazılım açısından ve daha teknik bakacak olursak önümüzde aynı altyapıyı kullanan fakat birden fazla arayüze (web, mobile gibi) sahip olan birçok uygulama var. Burada da altyapı üzerinde çalışan ve iş süreçlerini yöneten katman bizim “yüksek seviye” modülümüzdür. Bu açıdan bakıldığında kullanıcı arayüzünün düşük seviye olduğunu söylememiz mümkün.



DRY PRENSİBİ (Don’t Repeat Yourself)

“Kendini tekrar etme” anlamına gelir.
Kod tekrarlarından sakınılması gerektiğini öneren bir prensiptir.

dry


KISS PRENSİBİ (Keep it Simple Stupid)

Basit ve aptalca tutun anlamına gelir.
Basitlik için çabalamayı öneren bir prensiptir.

yagni and kiss


YAGNI PRENSİBİ (You Aren’t Gonna Need It)

Buna ihtiyacın olmayacak anlamına gelir.
Gelecekte lazım olacak düşüncesiyle ihtiyacımız olmayacak şeyleri sisteme dahil etmemeyi söyleyen bir prensiptir.
🏷️ Toolbox Notları (Nedir, Ne İşe Yarar?)
WİNDOWS FORM APPLİCATİON NOTLARI ve KISAYOLLARI

Windows Form nedir?

.NetFramework’ün bir parçası olarak dahil edilen grafik ders kitaplığıdır.
Kodlamanın yanı sıra toolbox yardımı ile görsele yönelik programlama yapmamızı sağlar.

Toolbox nedir?

  • Windows tabanlı görsel uygulamalar geliştirirken kullanacağımız bir grup kontroldür.
  • Form kontrolü hariç diğer bütün kontroller Toolbox panelinden seçilir.
  • Bu kontroller sürüklenip form üzerine istenilen pozisyona bırakılır.
    Form üzerine bıraktığımız kontrollerden birini tek click ile seçip özellikler (properties) penceresinde nesnenin özelliklerini ve olaylarını düzenleyebiliriz.

Form üzerinde yazdığımız kodları nasıl görüntüleyebiliriz?
Solution üzerinde Form1’in üzerinde çift tıklayabilirsiniz.


Form’a eklediğimiz toolboxlara nasıl kod yazabiliriz?
Kod yazmak istediğimiz toolbox’ın üzerine çift tıklayabilirsiniz.


Klavye Kısayolları:

  • Ctrl + alt + x ↔️ Toolbox kapalı ise açmayı sağlar.
  • Ctrl + alt + ↔️ Solution açmayı sağlar.
  • Ctrl + click ↔️ Click (1 kez) yaptığınız class’ın ana sayfasına gider.
  • Ctrl + herhangi bir tool üzerine basılı tutup sürükleme ↔️ Tool’u kopyalar.
  • Ctrl + s ↔️ Hangi dosya üzerinde iseniz onu kaydetmeyi sağlar.
  • Ctrl + shift + s ↔️ Tüm dosyaları kaydeder.
  • F5 ↔️ Programı derler ve başlatır. (Debug => Hata Ayıklama)
  • Alt + G ↔️ Butona tıklanma sağlanır.

FORM

A. Form Özellikleri:

  • MinimizeBox: Simge Durumuna Küçültme  False
  • MaximizeBox: Ekranı Kaplama  True
  • MaximumSize: Formun alabileceği max büyüklük.
  • MinimumSize: Formun alabileceği min küçüklük.
  • Width: Yatay boyutu.
  • Height: Yüksekliği.
  • BackgroundImage: Form arka planına resim ekleme.
  • Oppacity: Formun şeffaflığını ayarlama.
  • Show: Birden fazla formu aynı anda ekrana getirmek için kullanılır.
  • ShowDialog: Sadece çalışmak istediğimiz formu ekrana getirmek için kullanılır. Bu form dışındakilere erişilemez.
  • FormBorderStyle: Formun kenar stili.
  • ControlBox: Close, maximize ve minimize düğmelerinin tümünün görünürlüğü.

B. Form Metodları:

  • Hide: Visible özelliğini false yaparak gizler.
  • Close: Formu kapatır. Eğer form başlangıç formuysa uygulama sonlanır.
  • Show: Formu gösterir. Hide ile gizlenmişse, visible özelliği true yapılır.
  • ShowDialog: Formu diyalog kutusu olarak gösterir.

Toolbox Notları:

  Textbox: Metin kutusudur. Kullanıcıdan bilgi almak için kullanılır. <br />
a.	Multiline: Texbox’ın size’ını (büyüklüğünü) istediğiniz şekilde ayarlayabilmek için textbox üzerinde sağ üst ok tuşuna basıp multiline özelliğini tikleyebilirsiniz. Kısaca metin kutusuna bilginin çoklu satır olarak girilmesini sağlar. <br />
b.	ScrollBars: Eğer satır sayısı metin kutusunun boyutundan fazla ise kaydırma çubuklarına gerek duyulabilir. Kaydırma çubukları eklemek için ScrollBars özelliği kullanılır, bu özellik dört değişik değer alır. <br />
c.	PaswordChar: Metin kutusuna girilen bilginin belirlenen karakter ile gizlenmesini sağlar. <br />
d.	WordWrap: Satır sonlandığında bir alt satıra geçilmesini sağlar. Multiline false ise alt satırlar zaten olmayacağı için bu özelliğin etkisi olmaz. <br />
e.	MaxLength: Metin kutusunun alabileceği max karakter sayısını belirtir. <br />
f.	ReadOnly: Metin kutusunun yazmaya karşı korumalı olduğunu belirtir. <br />
g.	CharacterCasing: Metin kutusuna karakterler girilirken büyük veya küçük harfe çevrilmesini sağlar. Upper büyük, lower küçük harf yazar. <br /> <br />

MessageBox: Kullanıcıya diyalog penceresi içerisinde mesaj verme işlemi için MessageBox sınıfının Show metodu kullanılır. <br />

Label: Kullanıcıya bilgi vermek amacıyla kullanılan kontroldür.

LinkLabel: İçinde web sayfası adresleri bulunan label kontrolleri oluşturmak için kullanılır.

TabControl: Kontrolleri sekmelerden oluşan paneller içerisinde görüntülemek amacıyla kullanılır. Yani tek bir form üzerinde birden fazla form varmış gibi çalışabilirsiniz. TabControl'e Eklediğimiz her bir TabPage'i istediğiz gibi dizayn ederek birbirleri arasında geçişler yaptırabilirsiniz.

PictureBox: Uygulamamıza görüntülerin eklenmesini ve görüntülerin değişik biçimlerde gösterilmesini sağlar.

Button: Komut düğmeleri olarak kullanılır.
a.	Enabled ve Visible: Butonun aktif veya görünür olmasını kontrol eder. <br />
b.	TabStop: False olursa o nesne atlanır. <br />
c.	FlatStyle: Dört farklı değer alabilir. Bunlar standart, popup, flat, system’dir. <br />

RichTextBox: Zengin metin kutusu anlamına gelmektedir. Normal metin kutusundan farklı olarak alt satıra da yazmaya imkan vermektedir.

MaskedTextBox: Maskeli metin kutusu anlamına gelir. Güçlü tasarımlar konusunda çok sıklıkla kullanılır. Belirli bir formatta alınması gereken veri girişi için kullanılır.

ComboBox: Açılır liste üzerinden sunulan seçenekler arasından seçim yapılmasına olanak sağlayan araçtır.

GroupBox: Bu kontrol tek başına değil, diğer kontrolleri gruplamak için kullanılır. Kontrolleri bu GroupBox ile gruplamanın birçok avantajı vardır.

GroupBox içine yerleştirilen kontroller, GroupBox’a bağımlıdırlar ve konumları bu çerçeve dışına taşamaz. Özellikle birkaç kontrolü birden görünür ya da görünmez yapmak için hepsinin Visible özelliğini tek tek değiştirmek yerine çerçevenin Visible özelliğini değiştirilerek çerçeve içindeki tüm kontroller aynı anda değiştirilebilir.
Her bir kontrol tek tek taşınmak yerine çerçeve taşınır. Çerçevelerin buna benzer pek çok faydaları vardır. Ayrıca RadioButton' ların gruplanmasında çerçeve kullanmak kaçınılmaz olabilir.


CheckBox: Kontrol Kutusu, kullanıcıya birden çok seçeneği seçme imkanı sağlar. Checked özelliği kontrol kutusunun seçilip seçilmediğini kontrol eder. Seçili ise, true değilse false değerini alır. Listelenen öğeler açılan bir kutuda görüntülenir ve listeden en fazla bir tane öğe seçilebilir.
a.	Items: Açılır listeye eleman eklenebilir. <br />

ListBox: Kullanıcıya sunulan seçeneklerin bir liste halinde görünmesini sağlar. Liste kutusundan istenen sayıda öğe seçilebilir.
a.	Text: Liste kutusundaki seçilen elamanın değerini döndürür. <br />
b.	SelectedIndex: Liste kutusundaki elamanının indis numarasını verir. <br />

CheckedListBox: Liste kutusunun tüm özellik, metot ve olaylarını alır ve listedeki öğelerin işaret kutusu ile gösterilmesini sağlar.

ListView: Listview gelişmiş bir listeleme kontrolüdür. Listbox’ta olduğu gibi içine elemanlar eklenebilir, her elemana bir resim verilebilir ve listedeki elemanlar farklı biçimlerde listelenebilir.

RadioButton: RadioButton kontrolü CheckBox’tan farklı olarak birkaç seçenekten sadece birini seçme imkanı veren bir onay kontrolüdür.

a.	Appearance: Komut düğmesi görünümüne sahip RadioButton düğmeleri oluşturulabilir. <br />
b.	Text: İçindeki metin yazılabilir. <br />
c.	TextAlign: İçindeki metnin yerleşmesi belirlenebilir. <br />
d.	Image: İçinde resim gösterilebilir. <br />
e.	CheckAlign: Seçenek düğmesi sola, sağa alınabilir. <br />

Panel: Kullanılacak grupları kontrol etmek, üzerinde daha rahat işlem yapabilmek için bir arada tutan bir toolbox aracıdır.

Panel üzerine istediğimiz toolbox aracını rahatça bırakabilir üzerlerinde işlem yapabiliriz. GroupBox gibi ayarlama yapan bir kontroldür. 
GroupBox’a göre en büyük artısı kaydırma çubuklarını (AutoScroll) desteklemesidir.

MenuStrip: Menü tasarımı yapmak amacıyla kullanılmaktadır.

OpenFileDialog: Bir dialog ekranı ile dosya seçmemize yaramaktadır. Project menüsü altında bulunan Add Existing Item menüsünü gösterebiliriz. Bu ekran ile bir OpenFileDialog ekranı açılır ve dosya seçim işlemi gerçekleştirilir.

DateTimePicker: Tarih eklemek için kullanılır.

ImageList: Daha sonra denetimler tarafından görüntülenebilen resimleri depolamak için kullanılır. Görüntü listesi, tek ve tutarlı bir resim kataloğu için kod yazmanıza olanak tanır.

WebBrowser: Temelde windowsun internet explorer web tarayıcısına ait özelliklerini kullanmaktadır.

a.	Navigate: Web browser için adres girilmesine imkan sağlar. Belirtilen adrese yönlendirme yapılır. <br />
b.	GoBack: Bir önceki sayfaya döner. <br />
c.	GoForward: Bir sonraki sayfaya döner. <br />
d.	GoSearch: Arama sayfası işlevi için kullanılır. <br />
e.	GoHome : Ana sayfaya yönlendirme için kullanılır. <br />
f.	Refresh: Sayfada yenileme yapar. <br />
g.	Stop: Sayfanın yüklenmesini durdurur. <br />

Timer: Belirli zaman aralıklarında iş yaptırmak amacıyla milisaniye cinsinden geçen süreyi hesaplamak için kullanılır.

ProgressBar: Uygulamalarda yapılan işlemin ilerleme durumunu belirtmek için kullanılıyor.

DataGridView: Hücrelerden ve satırlardan oluşan tablo gösterimini sağlayan gelişmiş bir kontroldür.



KAYNAKLAR Bu kaynağı hazırlanırken yararlandığım faydalı linkler:

🏷️ Toolbox Kısaltmaları

AdRotator ↔️ ar
Button ↔️ btn
Calender ↔️ cal
CheckBox ↔️ chk
CheckBoxList ↔️ chklst
Column (DataGridView) ↔️ col
ColumnHeader (ListView ) ↔️ ch
Combobox ↔️ cbo
CompareValidator ↔️ cv
CrystalReportViewer ↔️ rptvew
DataGrid ↔️ dg
DataGridView ↔️ dgv
DataList ↔️ dl
DomainUpDown ↔️ dud
DropDownList ↔️ ddl
FileUpload ↔️ ful
Form ↔️ frm
GridView ↔️ gv
GroupBox ↔️ grp
HiddenField ↔️ hf
Image ↔️ img
ImageButton ↔️ imgbtn
ImageList ↔️ il
Label ↔️ lbl
LinkButton ↔️ lnkbtn
ListBox ↔️ lst
ListView ↔️ lv
MenuStrip ↔️ ms
ObjectDataSource ↔️ ods
PagedDataSource ↔️ pds
Panel ↔️ pnl
PictureBox ↔️ pic
RadioButton ↔️ rdo
RadioButtonList ↔️ rdolst
RangeValidator ↔️ rv
RegularExpressionValidator ↔️ rev
Repeater ↔️ rpt
RequiredFieldValidator ↔️ rfv
StatusLabel ↔️ slbl
StatusStrip ↔️ ss
TabControl ↔️ tab
Table ↔️ tbl
TabPage ↔️ tp
TextBox ↔️ txt
Timer ↔️ tmr
ToolStrip ↔️ ts
ToolStripButton ↔️ tsbtn
ToolStripDropDownButton ↔️ tsddb
ToolStripLabel ↔️ tslbl
ToolStripMenuItem ↔️ tsmi
TreeView ↔️ tv/tvw
ValidatorSummary ↔️ vs

About

Yararli oldugunu dusundugum konulari turkce kaynak olarak buraya ekliyorum sizin de eklememi istediginiz konu olursa issue acabilirsiniz.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published