Windows Forms/MFC Programlama Farkları
MFC'de Windows Form Kullanıcı Denetimi Kullanma başlığında, Windows Forms için MFC desteği açıklanmaktadır. .NET Framework veya MFC programlama hakkında bilginiz yoksa, bu konu ikisi arasındaki programlama farklılıkları hakkında arka plan bilgileri sağlar.
Windows Forms, .NET Framework'te Microsoft Windows uygulamaları oluşturmaya yöneliktir. Bu çerçeve, zengin Windows tabanlı uygulamalar geliştirmenizi sağlayan modern, nesne odaklı, genişletilebilir bir sınıf kümesi sağlar. Windows Forms ile çok çeşitli veri kaynaklarına erişebilen ve Windows Forms denetimlerini kullanarak veri görüntüleme ve veri düzenleme olanakları sağlayan zengin bir istemci uygulaması oluşturabilirsiniz.
Ancak, MFC'ye alışkınsanız, Windows Forms'da henüz açıkça desteklenmeyen belirli uygulama türlerini oluşturmak için kullanılabilirsiniz. Windows Forms uygulamaları MFC iletişim kutusu uygulamalarıyla eşdeğerdir. Ancak, OLE belge sunucusu/kapsayıcısı, ActiveX belgeleri, tek belge arabirimi (SDI) için Belge/Görünüm desteği, birden çok belge arabirimi (MDI) ve birden çok üst düzey arabirim (MTI) gibi diğer MFC uygulama türlerini doğrudan destekleyecek altyapı sağlamaz. Bu uygulamaları oluşturmak için kendi mantığınızı yazabilirsiniz.
Windows Forms uygulamaları hakkında daha fazla bilgi için bkz . Windows Forms'a giriş.
Aşağıdaki MFC görünümü veya belge ve komut yönlendirme özelliklerinin Windows Forms'da eşdeğeri yoktur:
Kabuk tümleştirmesi
MFC, bir belgeye sağ tıklayıp Aç, Düzenle veya Yazdır gibi fiilleri seçtiğinizde kabuğun kullandığı dinamik veri değişimi (DDE) komutlarını ve komut satırı bağımsız değişkenlerini işler. Windows Forms'un kabuk tümleştirmesi yoktur ve kabuk fiillerine yanıt vermez.
Belge şablonları
MFC'de, belge şablonları bir çerçeve penceresinde (MDI, SDI veya MTI modunda) bulunan bir görünümü açtığınız belgeyle ilişkilendirir. Windows Forms'un belge şablonlarıyla eşdeğeri yoktur.
Belgeler
MFC, belge dosya türlerini kaydeder ve bir belgeyi kabuktan açarken belge türünü işler. Windows Forms'un belge desteği yoktur.
Belge durumları
MFC, belge için kirli durumları korur. Bu nedenle, uygulamayı kapattığınızda, uygulamayı içeren son görünümü kapattığınızda veya Windows'dan çıktığınızda, MFC belgeyi kaydetmenizi ister. Windows Forms'un eşdeğer desteği yoktur.
Komutlar
MFC komut kavramına sahiptir. Menü çubuğu, araç çubuğu ve bağlam menüsünün tümü kes ve kopyala gibi aynı komutu çağırabilir. Windows Forms'da komutlar belirli bir kullanıcı arabirimi öğesinden (menü öğesi gibi) gelen olaylara sıkı sıkıya bağlıdır; bu nedenle, tüm komut olaylarını açıkça bağlamanız gerekir. Windows Forms'da birden çok olayı tek bir işleyiciyle de işleyebilirsiniz. Daha fazla bilgi için bkz . Windows Forms'da Birden Çok Olayı Tek Bir Olay İşleyicisine Bağlama.
Komut yönlendirme
MFC komut yönlendirmesi, etkin görünümün veya belgenin komutları işlemesini sağlar. Aynı komutun genellikle farklı görünümler için farklı anlamları olduğundan (örneğin, Kopyala, metin düzenleme görünümünde grafik düzenleyicisinden farklı davranır), komutların etkin görünüm tarafından işlenmesi gerekir. Windows Forms menüleri ve araç çubukları etkin görünümü tam olarak anlamadığından, MenuItem.Click olaylarınız için ek iç kod yazmadan her görünüm türü için farklı bir işleyiciniz olamaz.
Komut güncelleştirme mekanizması
MFC'nin bir komut güncelleştirme mekanizması vardır. Bu nedenle, etkin görünüm veya belge kullanıcı arabirimi öğelerinin durumundan sorumludur (örneğin, bir menü öğesini veya araç düğmesini etkinleştirme veya devre dışı bırakma ve işaretli durumlar). Windows Forms'un bir komut güncelleştirme mekanizmasıyla eşdeğeri yoktur.