2010-10-29 14 views
5

Visual Basic 2010'da bir program yazıyorum. Bu bir HMI (İnsan-Makine Arayüzü) ve bu nedenle diğer cihazlara komutlar gönderen bütün bir butona sahip. Sonuç olarak, gerçekten modüller halinde parçalanamayan düğmelere tıklamak için çok sayıda olay işleyicisi yığını vardır (modüllerin anlaşılması yanlış değilse).Bir Visual Basic (.NET/2010) dosyası okunabilirlik için ayrılabilir mi?

Esasen, ben farklı bir dosyaya düğmeye bastığında, diyelim, bütün olay işleyicileri hareket edebilmek istiyorum. Bu yapılabilir ya da "MainWindow.xaml.vb" içinde kalmak önemlidir? (Tüm düğmelerim bir tam ekran penceresinde bulunur, bazıları sekmelerle gizlenir).

sayesinde

--Erik T

+0

Nasıl ve ne zaman bir şeyleri modüllere ayırmanız, kendinizi tekrar tekrar tekrar ziyaret edeceğiniz bir şeydir. Kısmi sınıflar probleminizi çözecektir, ancak IMO bu kısmi sınıfların amaçlanan amacı değil - çoğunlukla kısmi sınıflar eklenmiş, böylece programlı olarak oluşturulan kod farklı bir dosyada olabilir. – quillbreaker

cevap

13

Sınıf tanımınızı kodunuzu düzenlemenize yardımcı olabilecek birden çok dosyaya bölmek için Partial Classes kullanabilirsiniz.

Yukarıdaki bağlantı, Kısmi Sınıfların nasıl kullanılacağını tam olarak açıklamaya yardımcı olacaktır. Aşağıdaki bağlantı, size VB.NET sözdizimi gösterecektir (ve şeyleri bölmek Sınıf Tasarımcısı nasıl kullanılacağı):

How to: Split a Class into Partial Classes Ben kodu gizlemek için bölgeleri kullanmak ister

+0

Kodumun iyi bir kısmını, bunun gibi ayrı bir dosyaya taşıyabilmeliyim. Korku veren! – evilspoons

+0

FWIW, bu çalıştı, ancak olay işleyicileri, Kısmi sınıflar aracılığıyla ayrı bir dosyaya taşırsanız, Visual Studio 2010'daki XAML tasarımcısı, artık özellikler işleyicisi için olay işleyicisi için uygun bir bağlantı veremez (boş ve çift ​​tıklarsınız, yeni, boş bir olay işleyicisi oluşturur ... ve daha sonra birden fazla özdeş imza hakkında şikayette bulunacaksınız.) – evilspoons

3

Sen gerekirse, ayrı dosyalar halinde bu bölmek için Partial Classes kullanabilirsiniz Bu makaleyi edin.

3

(kod vurgulayıcı bunu doz değil tür şey çok kötü alt text

bu yalnızca dosya hala compleatly bozulmamış ve derleyici sadece #Region ve #End Region çizgileri yok sayacak VS kodu saklandığı unutmayın) bir resim kullanmak

+0

Bölgeleri kullanıyorum, AMA onlar gerçekten sadece Visual Studio'nun farklı sekmelerinde birden çok bölümleri olmasını istediğiniz 400 foot uzun sayfanız olduğunda gerçekten yardımcı olmuyor. Yine de iyi bir ipucu. – evilspoons

+0

ahh, doğru tahmin ettiğim kişiye gerçekten bağlı. – giodamelio

1

Bazı işlevler bunun yerine özel denetimlere ayırabilir misiniz? Muhtemelen bazı harici verilere dayanarak anında düğmeler oluşturun?

1

Kullanıcı arabiriminin modülerliği için, here numaralı WPF/SL'nin kompozisyon yeteneklerini ve yardımcıları ve örnekleri here ile keşfedebilirsiniz. Ama bu gerçekten farklı bir mimaridir ve çok fazla kodunuz varsa büyük bir refakatçi olabilir.

Düğmeler için, olay işleyicilerinizin çoğunu gizlemesi gereken komutları kullanabilmeniz gerekir. here komutunu okuyun.

+0

Aslında WPF kullanıyorum, ancak bir Windows Forms zihniyetiyle kullanıyorum. Çoğunlukla WPF'ye geçtim, böylece uygulamam minimum çaba ile farklı ekran çözünürlüklerine ölçeklenecekti. Komutanlık büyüleyici görünüyor ve görüşlerin de bana yardımcı olabileceğini söyledi. Teşekkürler! – evilspoons

+0

@evilspoons: Rica ederim! Windows Forms'tan MVVM'ye geçişin büyük bir sıçrama olduğuna katılıyorum, ama gerçekten buna değer. Küçük ölçekli bir proje üzerinde deneyin ve faydaları hızla göreceksiniz, eğer SO aradığınızda MVVM hakkında tonlarca kaynak bulursunuz :) – Matthieu