Windows Formları - Windows Forms

Windows Formları (WinForms)
WinForms Designer'ın Visual Studio 2019.png'de görüldüğü şekliyle ekran görüntüsü
Diğer isimler WinFormlar
Orijinal yazar(lar) .NET : Microsoft ,
Mono : Ximian / Novell
Geliştirici(ler) .NET Vakfı
İlk sürüm 13 Şubat 2002 ; 19 yıl önce ( 2002-02-13 )
kararlı sürüm
v5.0.0-rtm.20520.1 / 20 Ekim 2020 ; 10 ay önce ( 2020-10-20 )
depo
Yazılmış C#
İşletim sistemi Microsoft Windows
platformu .NET Framework , .NET Çekirdeği
Tip Yazılım çerçevesi
Lisans MIT Lisansı
İnternet sitesi docs .microsoft .com /tr-tr /dotnet /framework /winforms /

Windows Forms (WinForms), Microsoft .NET , .NET Framework veya Mono Framework'ün bir parçası olarak dahil edilen ücretsiz ve açık kaynaklı bir grafik (GUI) sınıf kitaplığıdır ve masaüstü, dizüstü bilgisayar ve tablet PC'ler için istemci uygulamaları yazmak için bir platform sağlar. Daha önceki ve daha karmaşık olan C++ tabanlı Microsoft Foundation Class Library'nin yerine geçtiği görülse de , karşılaştırılabilir bir paradigma sunmaz ve yalnızca çok katmanlı bir çözümde kullanıcı arabirimi katmanı için bir platform görevi görür .

At Microsoft Connect 4 Aralık 2018 tarihinde olay, Microsoft açık kaynak projesi olarak, Windows Forms başlatıldığı açıklandı GitHub'dan . MIT Lisansı altında yayınlanmıştır . Bu sürümle birlikte Windows Forms, .NET Core çerçevesini hedefleyen projeler için kullanılabilir hale geldi . Ancak, çerçeve hala yalnızca Windows platformunda kullanılabilir ve Mono'nun Windows Forms'u eksik uygulaması, tek platformlar arası uygulama olarak kalır.

Mimari

Bu API , .NET Framework 3.0'ın bir parçasıdır

Bir Windows Forms uygulaması bir olan olay güdümlü uygulama Microsoft'un desteklediği .NET Framework . Bir toplu iş programından farklı olarak , zamanının çoğunu kullanıcının bir metin kutusunu doldurması veya bir düğmeyi tıklaması gibi bir şey yapmasını beklemekle geçirir . Uygulamanın kodu, C# veya Visual Basic gibi bir .NET programlama dilinde yazılabilir .

Windows Forms yerli erişim sağlar Windows Kullanıcı Arabirimi mevcut sararak ortak denetimler Windows API içinde yönetilen kod . Windows Forms'un yardımıyla .NET Framework, Win32 API üzerinde Visual Basic veya MFC'den daha kapsamlı bir soyutlama sağlar.

Windows Forms, istemci uygulamaları geliştirmede Microsoft Foundation Class (MFC) kitaplığına benzer . Windows uygulamalarının geliştirilmesi için bir dizi C++ sınıfından oluşan bir sarmalayıcı sağlar. Ancak, MFC gibi varsayılan bir uygulama çerçevesi sağlamaz. Windows Forms uygulamasındaki her denetim, bir sınıfın somut bir örneğidir.

Özellikleri

Windows Forms sınıf kitaplığındaki tüm görsel öğeler, Control sınıfından türetilir. Bu, konum, boyut, renk, yazı tipi, metin gibi bir kullanıcı arabirimi öğesinin minimum işlevselliğinin yanı sıra tıklama ve sürükle/bırak gibi yaygın olaylar sağlar. Control sınıfı ayrıca, bir kontrolün üst öğesi altındaki konumunu yeniden düzenlemesine izin vermek için yerleştirme desteğine sahiptir. Microsoft Active Accessibility Kontrol sınıfında desteği de iyi bir Windows Forms kullanmalarını engelli yardımcı olur.

Düğme, metin kutusu, onay kutusu ve liste görünümü gibi yerel Windows denetimlerine erişim sağlamanın yanı sıra Windows Forms, ActiveX barındırma, düzen düzenlemesi, doğrulama ve zengin veri bağlama için kendi denetimlerini ekledi . Bu kontroller GDI + kullanılarak işlenir .

Tarih ve gelecek

Tıpkı Özet Pencere Toolkit (AWT), eşdeğer Java API, Windows Forms sağlamak için erken ve kolay bir yol olduğunu grafiksel kullanıcı arabirimi için bileşenler .NET Framework . Windows Forms, mevcut Windows API'si üzerine kurulmuştur ve bazı denetimler yalnızca temeldeki Windows bileşenlerini sarar. Yöntemlerden bazıları, Windows dışı platformlarda bulunmayan Win32 geri aramalarına doğrudan erişime izin verir .

.NET Framework 2.0'da Windows Forms, web tabanlı dağıtım için ClickOnce'ın yanı sıra daha zengin düzen denetimleri, Office 2003 tarzı araç şeridi denetimleri, çoklu iş parçacığı bileşeni, daha zengin tasarım zamanı ve veri bağlama desteği kazandı.

.NET 3.0'ın piyasaya sürülmesiyle Microsoft, GUI'leri işlemek için ikinci bir paralel API yayımladı: DirectX'e dayalı Windows Presentation Foundation (WPF), XAML adlı bir GUI bildirim diliyle birlikte .

Build 2014 Konferansı'ndaki bir soru-cevap oturumu sırasında Microsoft, Windows Forms'un bakım modunda olduğunu ve hiçbir yeni özellik eklenmediğini, ancak bulunan hataların hala düzeltileceğini açıkladı. En son olarak, çeşitli Windows Forms denetimleri için geliştirilmiş yüksek DPI desteği, .NET Framework sürüm 4.5 güncellemelerinde tanıtıldı.

Windows Forms ile XAML geriye dönük uyumluluk

Gelecekteki geliştirme için Microsoft, WPF ve UWP gibi çerçeveleri kullanan XAML tabanlı bir GUI girişi ile Windows Forms'u başardı . Ancak, GUI bileşenlerinin Windows Forms'a benzer bir şekilde sürükle ve bırak yerleşimi, Sayfa/Pencerenin kök XAML öğesinin bir "Tuval" Kullanıcı Arabirimi Denetimi ile değiştirilmesiyle yine de XAML'de sağlanır. Bu değişikliği yaparken, kullanıcı, Visual Studio GUI'yi kullanarak bileşenleri doğrudan sürükleyip bırakarak Windows Forms'dakine benzer bir şekilde bir pencere oluşturabilir.

XAML, Canvas Kontrolü aracılığıyla geriye doğru sürükle ve bırak yerleşimi uyumluluğu sağlarken, XAML Kontrolleri yalnızca Windows Forms Kontrollerine benzer ve bire bir geriye dönük uyumlu değildir. Benzer işlevleri yerine getirirler ve benzer bir görünüme sahiptirler, ancak özellikler ve yöntemler, bir API'den diğerine yeniden eşlemeyi gerektirecek kadar farklıdır.

Alternatif uygulama

Mono , Ecma standardıyla uyumlu .NET Framework uyumlu bir araç seti oluşturmak için Xamarin (önceden Ximian , sonra Novell tarafından ) tarafından yönetilen bir projedir .

2011 yılında, Mono itibariyle System.Windows.Forms için verdiği destek .NET 2.0 tam olarak açıklandı; System.Windows.Forms 2.0 yerel olarak Mac OS X'te çalışır. Ancak System.Windows.Forms, Mono'da aktif olarak geliştirilmemiştir. .NET ile tam uyumluluk mümkün değildi, çünkü Microsoft'un System.Windows Forms'u esas olarak Windows API'si etrafında bir sarmalayıcıdır ve yöntemlerden bazıları, Windows dışındaki platformlarda mevcut olmayan Win32 geri aramalarına doğrudan erişime izin verir . Daha önemli bir sorun ise, sürüm 5.2'den bu yana Mono'nun, varsayılanı 64 bitlik bir platform alacak şekilde yükseltilmiş olmasıdır. Ancak, Macintosh OS X platformu için Mono'daki System.Windows.Forms, 32 bitlik bir alt sistem olan Carbon kullanılarak oluşturulmuştur . Bu tarih itibarıyla, Mac OS X'te kullanım için System.Windows.Forms'un 64 bit sürümü mevcut değildir ve yalnızca 32 bit platform için oluşturulmuş .NET uygulamalarının yürütülmesi beklenebilir.

Ayrıca bakınız

Referanslar

Dış bağlantılar