Altbilgi içeriğine atla
Iron Academy Logo
C# Uygulaması
C# Uygulaması

Diğer Kategoriler

Tim Corey ile C# Form Tasarımını Keşfetmek — Rehberli Bir Yürüyüş

[[academy-video-youtube({"vid": "h8HknjkQ9SI", "start_time": "0", "title": "C# Uygulaması Baştan Başlangıca Ders 07 - Form Aılımı", "creator": "Tim Corey", "length": "1h 06m 41s"})]]

Bu derste Tim Corey, C# Windows Forms uygulaması için kullanıcı arayüzü oluşturma sürecini bizlere gösteriyor. Amacın henüz mantık yazmak değil, önceki derslerden planlama eskizlerini gerçek, çalışan formlara dönüştürmek olduğunu açıklar. Tim, ilk önce tasarıma odaklanacağımızı ve daha sonra her şeyi kodla birleştireceğimizi vurgular. Bu, C# form inşası konusuna daha derin bir bakış ve Tim'in videosu bir Windows Forms uygulamasının Visual Studio'da adım adım nasıl inşa edildiğini açıklamaya yardımcı oluyor.

Form İnşamaya Giriş

Tim, yedinci derse hoş geldiniz diyerek başlar ve amacı net bir şekilde belirtir: formları inşa ediyoruz. Kütüphane çalışmasına benzer olduğunu, ancak şu anda daha önceki planlama eskizlerimize dayalı olarak gerçek kullanıcı arayüzünü uygulamakta olduğumuzu hatırlatır. Bu aşamada kod eklemeye eğilimli olabileceğimizi ancak formları oluşturmaya odaklanmamızı istediğini vurgular.

Önceki tasarımlarımızın kaba eskizler olduğunu, şu anda formların iyi görünmesi gerektiğini açıklar. Tim, tasarım kılavuzunun önemli olduğunu, denemeleri göstermeyeceğini ancak son sonuçları anlatacağını belirtiyor. Önceki planlama adımındaki tasarımların bu dersin temelini oluşturduğunu ve gerekiyorsa o tasarımlara atıfta bulunmayı önerir.

Yeni Proje Ekleme ve Bir Windows Forms Uygulamasına Başlama

Tim çözümü yeni bir proje eklemeyi gösteriyor. Çözüm Gezgini'nde, çözüm üzerine sağ tıklıyor, Yeni Proje Ekle'yi seçiyor ve Windows Form Uygulaması'nı seçiyor. Bu, özellikle Windows masaüstü uygulamaları oluşturma için yeni bir proje türü oluşturur. Projeye Tournament Tracker UI adını verir.

Bir Windows Forms uygulaması oluştururken varsayılan Form1.cs dosyasının otomatik olarak üretildiğini açıklar. Uygulamanın başlangıç formuna ihtiyacı olduğundan Tim, onu silmemeye karar verir. Bunun yerine dosyanın ve sınıfın adını TournamentViewerForm olarak değiştirir ve tüm referansları yeniden adlandırma sorgusunu kabul eder. Bu, uygulamanın ana penceresinin düzgün çalışmasını sağlar.

Form Sınıfını Yeniden Adlandırma

Tim, bir Windows Forms uygulamasında çalışan bir formunuz olması gerektiğini vurguluyor. Varsayılan Form1.cs dosyasını silerseniz, Program.cs içindeki giriş noktası güncellemeniz gerektiğini açıklıyor. Bu karmaşıklıktan kaçınmak için Tim basitçe formun adını değiştirir. Bir Windows Forms uygulaması başlatırken tipik bir adım: proje amacına uyması için sınıf ve dosya adını değiştirmek.

Özellikler Penceresini Kullanma

Tim, Özellikler Penceresini açar ve formun özelliklerini değiştirmeye başlar. Metin özelliğini "Tournament Viewer" olarak değiştirir, böylece başlık çubuğu doğru adı gösterir.

Daha sonra, varsayılan Visual Studio grisi olan BackColor'ı beyaza değiştirir, beyazın daha modern olduğunu ve formun içeriğinden dikkat dağılmaması gerektiğini açıklar. Bu, kullanıcı arayüzü için bir tasarım rehberi oluşturmanın bir parçasıdır.

Daha sonra Font'u 16 noktalık modern bir yazı tipine değiştirir ve bunun neden erken yapılması gerektiğini açıklar: daha sonra eklenen kontroller otomatik olarak yeni yazı tipini miras alacaktır. Tim, bunun formları verimli bir şekilde inşa etmek için önemli bir ipucu olduğunu açıklıyor.

İkon ve Kaynakları Değiştirme

Tim, özel bir ikon dosyası içe aktararak formun simgesini değiştirir. İkonu oluşturmak için Metro Studio isimli ücretsiz bir araç kullandığını açıklar. Bu, simgeleri sıfırdan yazma veya tasarlama gereksinimini ortadan kaldırır. Ayrıca, tüm formlarda aynı simgeyi kullanacağını, uygulamanın görünümünü birleştirmek için kullanacağını belirtiyor.

Forma Kontroller Ekleme

Tim, Toolbox'tan formlara kontrol sürükleyerek kullanıcı arayüzünü oluşturmaya başlar. Bir başlık etiketi ekler ve özelliklerini değiştirir:

  • ForeColor → RGB (51, 153, 255)

  • Font → Light, 28

  • Metin → "Turnuva:"

  • İsim → "headerLabel"

Daha sonra turnuva adı etiketi oluşturmak için başlık etiketini kopyalar ve yapıştırır, metnini geçici olarak "None" olarak ayarlar ve adını turnuvaNameLabel olarak değiştirir. Tim, kontrolleri kopyalama ve yapıştırmanın tutarlı bir stil korumanın ve zamandan tasarruf etmenin hızlı bir yolu olduğunu açıklar.

Raunt Seçimi Kontrolleri Ekleme

Tim bir Round etiketi ve bir ComboBox açılır listesi ekler. Etiketin yazı tipini 20'ye değiştirir ve rengini aynı mavimsi aksana ayarlar. Kontrollerin düzgün hizalanması için Visual Studio'nun hizalama kılavuzlarını kullanır.

Daha sonra "Yalnızca Oynanmayanlar" adlı bir CheckBox ekler. Stilini düz olarak değiştirir ve kontrol işaret rengi maviye değiştirir. Tim ayrıca isimlendirme kuralını açıklar: kontrol türünü sondan ekler (örn. roundDropDown, unplayedOnlyCheckbox) böylece arama ve kod gezinmesi kolaylaşır.

Eşleşme Listesi ve Skor Kontrolleri Ekleme

Tim, matchupListBox adında bir ListBox ekler ve kenarlık stilini sabit tek olarak ayarlar. ListBox'un ComboBox'a benzer davrandığını ve bunun kodlamayı daha kolay hale getirdiğini açıklar.

Sonra takım adları ve puanları için etiketler ve metin kutuları ekler. Güçlü bir teknik gösteriyor: çoklu kontrol seçimi, kopyalama ve ardından birlikte yapıştırma. Bu, boşlukların ve düzenin korunmasını, böylece tasarım sürecinin hızlandırılmasını sağlar.

Tim ayrıca, kontrollerin düzgün bir şekilde yeniden adlandırılması gerektiğini, label1 veya textBox2 gibi varsayılan adlardan kaçınılması gerektiğini, bu adların daha sonra karışıklığa neden olabileceğini açıklar.

VS Etiket ve Skor Butonu Ekleme

Tim, iki takım bölümü arasında bir "VS" etiketi ekler. Ardından bir Skor butonu ekler ve stilini özelleştirir:

  • FlatStyle → Düz

  • Kenarlık Rengi → Gümüş

  • MouseDownBackColor → (102, 102, 102)

  • MouseOverBackColor → (242, 242, 242)

  • Yazı Tipi → Yarı kalın, 16

  • ForeColor → (51, 153, 255)

  • Metin → "Puan"

Bu ayarların özellikle kullanıcı butonun üzerine geldiğinde veya tıkladığında modern ve duyarlı görünmesini sağladığını açıklar.

Formu Çalıştırma

Tim, projenin şu anda yanlış başlangıç projesine sahip olduğunu açıklar. Sınıf kütüphanesi Çözüm Gezgini'nde kalın yazıyla, bu başlangıç projesi olarak ayarlandığını gösterir, ancak bir sınıf kütüphanesi kendi başına çalıştırılamaz. Tracker UI'ı başlangıç projesi olarak ayarlar.

Uygulamayı çalıştırdığında, form Windows 10 stilinde görünür. Tim, butonun üstüne gelme ve tıklama davranışının, kullanıcı arayüzünün duyarlı ve modern olduğunu gösterdiğini belirtir.

Turnuva Oluşturma Formu

Tim, CreateTournamentForm adlı yeni bir form ekler ve özelliklerini (font, renk, ikon) ayarlar. Geliştirme sürecini hızlandırmak için Tournament Viewer formundan kontroller kopyalar.

Şunları ekler:

  • Turnuva adı girişi

  • Katılım ücreti girişi (varsayılan değer 0)

  • Takım ekleme açılır listesi

  • Takım oluşturma bağlantı etiketi

  • Takım ekleme butonu

  • Ödül oluşturma butonu

  • Turnuva oyuncuları list kutusu

  • Silme butonları

  • Turnuva oluşturma butonu

Bağlantı etiketini mavi tutma tasarım seçimini, kullanıcıların mavi altı çizili metni bir bağlantı olarak tanımaları üzerine yaptığı açıklama ile anlatıyor.

Takım Oluşturma Formu

Tim CreateTeamForm oluşturur ve ekler:

  • Takım adı girişi

  • Takım üyesi seçimi açılır listesi

  • Üye ekleme butonu

  • Yeni üyeleri ekleme için grup kutusu

  • Ad, soyad, e-posta ve cep telefonu alanları

  • Üye oluşturma butonu

  • Takım üyeleri list kutusu

  • Seçili üye silme butonu

  • Takım oluşturma butonu

Grup kutusunun görsel bir sınır sağladığını ve gruplanmış kontrolleri yönetmeyi kolaylaştırdığını açıklar. Ayrıca, grubu bir birim olarak taşırken de yardımcı olur.

Ödül Oluşturma Formu

Tim, CreatePrizeForm'u şu elemanlarla inşa eder:

  • Yer numarası girişi

  • Yer adı girişi

  • Ödül tutarı girişi

  • Ödül yüzdesi girişi

  • "Veya" etiketi

  • Ödül oluşturma butonu

Yerleşimin temiz ve profesyonel görünmesine dikkat ederek hizalama araçlarını kullanır.

Turnuva Kontrol Formu

Tim nihai formu oluşturur: TournamentDashboardForm. Şunları ekler:

  • Mevcut turnuvayı yükleme açılır listesi

  • Turnuvayı yükleme butonu

  • Turnuva oluşturma butonu

Yerleşimin görsel olarak dengeli olması için hizalama ve boşluk araçlarını kullanır.

İsimlendirme ve Organizasyon İpuçları

Tim doğru isimlendirmenin önemini vurgular. Sunumlar listesi gibi yanlışlıkla geride bırakılmış etiket1 veya textBox2 gibi adsız kontrolleri belirlemenize yardımcı olması için Özellikler açılır listesini nasıl kullanabileceğinizi gösterir. Daha netlik sağlamak için newMemberGroupBox eklemek üzere bir grup kutusunun adını değiştirme işlemi gösterir.

Başlangıç Formunu Ayarlama

Tim Program.cs'de başlangıç formunu nasıl değiştireceğinizi açıklar. Şu değişiklikleri yapar:

Application.Run(new TournamentViewerForm());

şu şekle:

Application.Run(new TournamentDashboardForm());

Bu satırın form örneğini oluşturduğunu ve form kapatılana kadar uygulamayı duraklattığını açıklar.

Neden Main Önemlidir

Tim, Windows Forms'u konsol uygulamalarıyla karşılaştırır: ikisinin de static void Main vardır. Main tamamlandığında uygulamanın kapandığını açıklar. Bu nedenle, uygulamanın çalışmaya devam etmesi için formun açık kalması gerektiğini belirtir.

Ayrıca Visual Studio'nun XML yorumlarını içermesini ve daha sonra yöntemler için XML belgeleri eklemeyi teşvik ettiğini belirtir.

Sonraki Adımlar

Dersin sonunda Tim, bir sonraki adımın formları mantık ile birleştirmek olduğunu belirtiyor. İzleyicilere karmaşık kısmın geldiğini, ama formlar oluşturulduktan sonra yönetilebilir hale geleceğini reassures. Mantığın LEGO parçalarını birleştirmek gibi hissettireceğini ve ilerledikçe zor kısmın yavaş yavaş kaybolacağını söylüyor.

Hero Worlddot related to Tim Corey ile C# Form Tasarımını Keşfetmek — Rehberli Bir Yürüyüş
Hero Affiliate related to Tim Corey ile C# Form Tasarımını Keşfetmek — Rehberli Bir Yürüyüş

Sevdiğiniz Şeyleri Paylaşarak Daha Fazla Kazanın

.NET, C#, Java, Python veya Node.js ile çalışan geliştiriciler için içerik oluşturuyor musunuz? Uzmanlığınızı ek gelire dönüştürün!

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara