Masaüstü Kılavuzu (Windows Forms .NET)

Windows için zengin masaüstü istemci uygulamaları oluşturan bir kullanıcı arabirimi çerçevesi olan Windows Forms’a yönelik Masaüstü Kılavuzu’na hoş geldiniz. Windows Forms geliştirme platformu, denetimler, grafikler, veri bağlama ve kullanıcı girişi gibi çok çeşitli uygulama geliştirme özelliklerini destekler. Windows Forms kolayca Windows Forms uygulamaları oluşturmak için Visual Studio’da sürükle bırak görsel tasarımcısına sahiptir.

Önemli

.NET 7 ve .NET 6 için Masaüstü Kılavuzu belgeleri yapım aşamasındadır.

Windows Forms’un iki uygulaması vardır:

  1. GitHub’da barındırılan açık kaynak uygulaması.

    Bu sürüm .NET 6+ üzerinde çalışır. Windows Forms görsel tasarımcısı için en azından Visual Studio 2019 sürüm 16.8 gerekir.

    Visual Studio 2022 sürüm 17.4 kullanan .NET 7 için Windows Forms en son sürümdür.

  2. Visual Studio 2022, Visual Studio 2019 ve Visual Studio 2017 tarafından desteklenen .NET Framework 4 uygulaması.

    .NET Framework 4, .NET’in yalnızca Windows’da çalışan sürümüdür ve Windows işletim sistemi bileşenlerinden biri olarak kabul edilir. Windows Forms’un bu sürümü .NET Framework ile dağıtılır.

Bu Masaüstü Kılavuzu, .NET 5 ve sonraki sürümlerde Windows Forms için yazılmıştır. Windows Forms .NET Framework sürümü hakkında daha fazla bilgi için bkz. .NET Framework için Windows Forms.

Giriş

Windows Forms, Windows masaüstü uygulamaları oluşturmaya yönelik bir kullanıcı arabirimi çerçevesidir. Visual Studio’da sağlanan görsel tasarımcı ile masaüstü uygulamaları oluşturmanın en üretken yöntemlerinden birini sunar. Görsel denetimler için sürükle bırak gibi işlevler, masaüstü uygulamaları oluşturmayı kolaylaştırır.

Windows Forms ile kolayca dağıtılan, güncelleştirilebilen ve çevrimdışı veya internete bağlı olarak çalışabilen grafik açısından zengin uygulamalar geliştirebilirsiniz. Windows Forms uygulamaları, uygulamanın çalıştığı bilgisayarın yerel donanımına ve dosya sistemine erişebilir.

Windows Forms uygulaması oluşturmayı öğrenmek için bkz. Öğretici: Yeni Windows Forms uygulaması oluşturma.

.NET Framework’ten geçiş yapmak için gerekçeler

.NET için Windows Forms, .NET Framework üzerinde yeni özellikler ve geliştirmeler sağlar. Daha fazla bilgi için bkz . .NET 7 için Windows Forms'daki yenilikler. Bir uygulamayı yükseltmeyi öğrenmek için bkz . Windows Forms masaüstü uygulamasını .NET 7'ye yükseltme

Zengin, etkileşimli kullanıcı arabirimleri oluşturma

Windows Forms, dosya sistemini okuma ve dosya sistemine yazma gibi yaygın uygulama görevlerini basitleştiren bir dizi yönetilen kitaplık olan .NET için tasarlanmış bir kullanıcı arabirimi teknolojisidir. Visual Studio gibi bir geliştirme ortamı kullanarak bilgileri görüntüleyen, kullanıcılardan giriş isteyen ve ağ üzerinden uzak bilgisayarlarla iletişim kuran Windows Forms akıllı istemci uygulamaları oluşturabilirsiniz.

Windows Forms’da form, kullanıcıya bilgi gösterebileceğiniz görsel bir yüzeydir. Normalde formlara denetimler ekleyerek ve fare tıklamaları veya tuş basmaları gibi kullanıcı eylemlerine yanıtlar geliştirerek Windows Forms uygulamaları oluşturursunuz. Denetim, verileri görüntüleyen veya veri girişini kabul eden ayrı bir kullanıcı arabirimi öğesidir.

Kullanıcı, formunuzla veya denetimlerinden biriyle etkileşimde bulunduğunda eylem bir olay oluşturur. Uygulamanız bu olaylara kodla yanıt verir ve gerçekleşen olayları işler.

Windows Forms, formlara ekleyebileceğiniz çeşitli denetimler sunar: Metin kutularını, düğmeleri, açılan kutuları, radyo düğmelerini ve hatta web sayfalarını görüntüleyen denetimler. Mevcut bir denetim gereksinimlerinizi karşılamıyorsa Windows Forms UserControl sınıfını kullanarak kendi özel denetimlerinizi oluşturmayı da destekler.

Windows Forms, Microsoft Office gibi üst düzey uygulamalardaki özelliklere benzer zengin kullanıcı arabirimi denetimlerine sahiptir. ToolStrip ve MenuStrip denetimlerini kullanarak metin ve resim içeren araç çubukları ve menüler oluşturabilir, alt menüleri görüntüleyebilir ve metin kutuları ve birleşik giriş kutuları gibi diğer denetimleri barındırabilirsiniz.

Visual Studio’daki sürükle bırak destekli Windows Form Tasarımcısı ile kolayca Windows Forms uygulamaları oluşturabilirsiniz. İmlecinizle denetimleri seçip formda istediğiniz yere yerleştirmeniz yeterlidir. Tasarımcıda sağlanan kılavuz çizgileri ve yaslama çizgileri gibi araçlar, denetimleri hizalama zahmetini ortadan kaldırır. Gelişmiş form düzenlerini daha kısa sürede oluşturmak için FlowLayoutPanel, TableLayoutPanel ve SplitContainer denetimlerini kullanabilirsiniz.

Son olarak, kendi özel kullanıcı arabirimi öğelerinizi oluşturmanız gerekiyorsa System.Drawing ad alanı çizgileri, daireleri ve diğer şekilleri doğrudan bir formda işlemek için çok çeşitli sınıflar içerir.

Form ve denetim oluşturma

Bu özelliklerin nasıl kullanılacağı hakkında adım adım bilgi için aşağıdaki yardım konularına bakın.

Verileri görüntüleme ve işleme

Birçok uygulamanın bir veritabanından, XML veya JSON dosyasından, web hizmetinden veya başka bir veri kaynağından veri görüntülemesi gerekir. Windows Forms, bu tür tablosal verileri geleneksel bir satır ve sütun biçiminde görüntülemek için DataGridView adlı esnek bir denetim sağlar. Bu sayede her veri parçası kendi hücresini kaplar. DataGridView kullandığınızda hücrelerin görünümünü ayrı bir şekilde özelleştirebilir, rastgele satır ve sütunları yerinde kilitleyebilir ve diğer özelliklerin yanı sıra hücrelerin içinde karmaşık denetimler görüntüleyebilirsiniz.

Ağ üzerinden veri kaynaklarına bağlanmak Windows Forms için basit bir görevdir. BindingSource bileşeni bir veri kaynağına bağlantıyı temsil eder ve verileri denetimlere bağlama, önceki ve sonraki kayıtlara gitme, kayıtları düzenleme ve değişiklikleri özgün kaynağa geri kaydetme işlemleri için kullanılabilecek yöntemleri kullanıma sunar. BindingNavigator denetimi, kullanıcıların kayıtlar arasında gezinmesi için BindingSource bileşeni üzerinde basit bir arabirim sağlar.

Visual Studio’daki Veri Kaynakları penceresini kullanarak kolayca verilere bağlı denetimler oluşturabilirsiniz. Pencerede veritabanları, web hizmetleri ve projenizdeki nesneler gibi veri kaynakları görüntülenir. Bu penceredeki öğeleri projenizdeki formlara sürükleyerek verilere bağlı denetimler oluşturabilirsiniz. Ayrıca nesneleri Veri Kaynakları penceresinden var olan denetimlere sürükleyerek mevcut denetimleri verilere bağlayabilirsiniz.

Windows Forms’da yönetebileceğiniz bir diğer veri bağlama türü de ayarlardır. Çoğu uygulamanın formların bilinen son boyutu gibi çalışma zamanı durumuyla ilgili bazı bilgileri tutması ve kaydedilen dosyalar için varsayılan konumlar gibi kullanıcı tercih verilerini saklaması gerekir. Uygulama Ayarları özelliği, her iki ayar türünü de istemci bilgisayarda depolamak için kolay bir yol sağlayarak bu gereksinimleri karşılar. Bu ayarları Visual Studio veya kod düzenleyicisi kullanarak tanımladıktan sonra ilgili ayarlar XML biçiminde kalıcı hale getirilir ve çalışma zamanında otomatik olarak belleğe geri yüklenir.

Uygulamaları istemci bilgisayarlara dağıtma

Uygulamanızı yazdıktan sonra kendi istemci bilgisayarlarına yükleyip çalıştırabilmeleri için kullanıcılarınıza göndermeniz gerekir. ClickOnce teknolojisini kullanarak yalnızca birkaç tıklamayla uygulamalarınızı Visual Studio’dan dağıtabilir ve kullanıcılarınıza web üzerindeki uygulamanıza erişebilecekleri bir URL sağlayabilirsiniz. ClickOnce, uygulamanızdaki tüm öğeleri ve bağımlılıkları yönetir ve uygulamanın istemci bilgisayara doğru şekilde yüklenmesini sağlar.

ClickOnce uygulamaları yalnızca kullanıcı ağa bağlı olduğunda veya hem çevrimiçi hem de çevrimdışı çalıştırılacak şekilde yapılandırılabilir. Bir uygulamanın çevrimdışı çalışmayı desteklemesi gerektiğini belirttiğinizde ClickOnce, kullanıcının Başlat menüsüne uygulamanızın bağlantısını ekler. Kullanıcı bu şekilde URL’yi kullanmadan uygulamayı açabilir.

Uygulamanızı güncelleştirdiğinizde yeni bir dağıtım bildirimi ve web sunucunuzda uygulamanızın yeni bir kopyası yayımlanır. ClickOnce kullanılabilir bir güncelleştirme olduğunu algılar ve kullanıcının yüklemesini yükseltir. Eski uygulamaları güncelleştirmek için özel programlamaya gerek yoktur.

Ayrıca bkz.