izlenecek yol: tasarım zamanında özel Windows Forms denetimlerinde hata ayıklama
Özel bir denetim oluşturduğunuzda, genellikle tasarım zamanı davranışından hata ayıklamanın gerekli olduğunu fark edersiniz. Özel denetiminiz için özel tasarımcı yazıyorsanız bu özellikle doğrudur. ayrıntılar için bkz. izlenecek yol: Visual Studio Design-Time özelliklerinden faydalanan Windows Forms denetimi oluşturma.
diğer .NET Framework sınıflarında hata ayıkladığınızda olduğu gibi, Visual Studio kullanarak özel denetimlerde hata ayıklaması yapabilirsiniz. farkı, özel denetiminizin kodunu çalıştıran Visual Studio ayrı bir örneğinin hatalarını ayıklamanızı sağlayacaktır.
Proje oluşturma
İlk adım uygulama projesini oluşturmaktır. Bu projeyi, özel denetimi barındıran uygulamayı oluşturmak için kullanacaksınız.
Visual Studio, bir Windows uygulama projesi oluşturun ve bunu DebuggingExampleolarak adlandırın.
Denetim kitaplığı projesi oluşturma
çözüme bir Windows denetim kitaplığı projesi ekleyin.
DebugControlLibrary projesine yeni bir UserControl öğesi ekleyin. DebugContrololarak adlandırın.
Çözüm Gezgini, kod dosyasını UserControl1 temel adıyla silerek projenin varsayılan denetimini silin.
Çözümü derleyin.
Checkpoint
Bu noktada, araç kutusundaözel denetiminizi görebileceksiniz.
İlerleme durumunu denetlemek için DebugControlLibrary bileşenleri adlı yeni sekmeyi bulun ve seçmek için tıklayın. Açıldığında, denetimizin, simgenin yanında DebugControl olarak listelendiğini göreceksiniz.
Özel denetimi bir özellik ekleyin
Özel denetimizin kodunun tasarım zamanında çalıştığını göstermek için, özelliği uygulayan kodda bir özellik ekleyeceksiniz ve bir kesme noktası ayarlayacaksınız.
Kod düzenleyicisindeDebugControl ' i açın. Aşağıdaki kodu sınıf tanımına ekleyin:
Private demoStringValue As String = Nothing <BrowsableAttribute(true)> Public Property DemoString() As String Get Return Me.demoStringValue End Get Set(ByVal value As String) Me.demoStringValue = value End Set End Propertyprivate string demoStringValue = null; [Browsable(true)] public string DemoString { get { return this.demoStringValue; } set { demoStringValue = value; } }Çözümü derleyin.
Özel denetiminizi ana bilgisayar formuna ekleme
Özel denetiminizin tasarım zamanı davranışının hatalarını ayıklamak için, bir ana bilgisayar formuna özel denetim sınıfının bir örneğini yerleştirebilirsiniz.
"DebuggingExample" projesinde, Windows Form TasarımcısıForm1 ' i açın.
Araç kutusundaDebugControlLibrary bileşenleri sekmesini açın ve bir DebugControl örneğini form üzerine sürükleyin.
DemoStringDemoStringpenceresinde özel özelliğini bulun. Değerini diğer tüm özellikler gibi değiştirebileceğinizi unutmayın. AyrıcaDemoStringözellik seçildiğinde özelliğin açıklama dizesininDemoStringpenceresinin altında göründüğünü unutmayın.
Projeyi tasarım zamanı hata ayıklama için ayarlama
özel denetiminizin tasarım zamanı davranışınızda hata ayıklamak için, özel denetim kodunuzu çalıştıran Visual Studio ayrı bir örneğinden hata ayıklaması yapılır.
Çözüm GezginiDebugControlLibrary projesine sağ tıklayın ve Özellikler' i seçin.
DebugControlLibrary Özellik sayfasında, Hata Ayıkla sekmesini seçin.
Başlangıç eylemi bölümünde dış program Başlat' ı seçin. Visual Studio ayrı bir örneğinden hata ayıklaması yapılır, bu nedenle
Visual Studio ıde 'ye gitmek için üç nokta () düğmesine tıklayın. yürütülebilir dosyanın adı devenv.exeve varsayılan konuma yüklediyseniz, yolu % ProgramFiles (x86)% \ Microsoft Visual Studio \ 2019 \ edition \Common7\IDEolur.İletişim kutusunu kapatmak için Tamam ' ı seçin.
debugcontrollibrary projesine sağ tıklayın ve bu hata ayıklama yapılandırmasını etkinleştirmek için başlangıç Project ayarla ' yı seçin.
Tasarım zamanında özel denetimi hata ayıklaması yapın
Artık tasarım modunda çalışırken özel denetimi hata ayıklamaya hazırsınız. hata ayıklama oturumunu başlattığınızda, yeni bir Visual Studio örneği oluşturulur ve bunu "DebuggingExample" çözümünü yüklemek için kullanacaksınız. Form tasarımcısındaForm1 ' i açtığınızda, özel denetiminizin bir örneği oluşturulur ve çalışmaya başlayacaktır.
Kod düzenleyicisindeDebugControl kaynak dosyasını açın ve özelliğin erişimcisine bir kesme noktası yerleştirin .
Hata ayıklama oturumu başlatmak için F5 tuşuna basın. yeni bir Visual Studio örneği oluşturulur. Örnekler arasında iki şekilde ayrım yapabilirsiniz:
Hata ayıklama örneği, başlık çubuğunda çalışan sözcüğe sahiptir
Hata ayıklama örneğinde hata ayıklama araç çubuğundaki Başlat düğmesi devre dışıdır
Kesme noktası hata ayıklama örneğinde ayarlanır.
yeni Visual Studio örneğinde, "DebuggingExample" çözümünü açın. Dosya menüsünden son projeler ' i seçerek çözümü kolayca bulabilirsiniz. "DebuggingExample. sln" çözüm dosyası en son kullanılan dosya olarak listelenecektir.
Önemli
bir .net 5 (.net Core 3,1) veya daha sonraki bir sürümde Windows Forms hata ayıklaması yapıyorsanız DesignToolsServer.exe işlemine bir hata ayıklayıcı eklemek için bu Visual Studio örneğini kullanın. İşleme Ekle menü öğesini seçin. İşlem listesinde DesignToolsServer.exe bulun ve Ekle' ye basın.
Form tasarımcısında Form1 ' i açın ve DebugControl denetimini seçin.
Özelliğin değerini değiştirin
DemoString. değişikliği kaydettiğinizde, Visual Studio hata ayıklama örneği odak ve yürütme, kesme noktasında duraklar. Özellik erişimcisinde, tıpkı diğer kodlar gibi tek adım izleyebilirsiniz.hata ayıklamayı durdurmak için Visual Studio barındırılan örneğinden çıkın veya hata ayıklama örneğindeki hata ayıklamayı durdur düğmesini seçin.
Sonraki adımlar
tasarım zamanında özel denetimlerde hata ayıklayabildiğinize göre, denetimin Visual Studio ıde ile etkileşimini genişletmek için pek çok olasılık vardır.
DesignModeComponent Yalnızca tasarım zamanında yürütülecek kodu yazmak için sınıfının özelliğini kullanabilirsiniz. Ayrıntılar için bkz. DesignMode.
Özel denetiminizin, tasarımcı ile etkileşimini işlemek için denetiminizin özelliklerine uygulayabileceğiniz birkaç öznitelik vardır. Bu öznitelikleri System.ComponentModel ad alanında bulabilirsiniz.
Özel denetiminiz için özel tasarımcı yazabilirsiniz. Bu, Visual Studio tarafından sunulan Genişletilebilir tasarımcı altyapısını kullanarak tasarım deneyimi üzerinde tüm denetim sağlar. ayrıntılar için bkz. izlenecek yol: Visual Studio Design-Time özelliklerinden faydalanan Windows Forms denetimi oluşturma.