İzlenecek yol: Tasarım Zamanında Özel Windows Forms Denetimlerinde Hata Ayıklama
Özel denetim oluşturduğunuzda, genellikle tasarım zamanı davranışında hata ayıklamanın gerekli olduğunu fark edebilirsiniz. Özel denetiminiz için özel bir tasarımcı yazarken bu durum özellikle geçerlidir. Ayrıntılar için bkz . İzlenecek Yol: Visual Studio Tasarım Zamanı Özelliklerinden Yararlanan Bir Windows Forms Denetimi Oluşturma.
Diğer .NET Framework sınıflarının hatalarını ayıkladığınız gibi Visual Studio'yu kullanarak özel denetimlerinizin hatalarını ayıklayabilirsiniz. Fark, özel denetiminizin kodunu çalıştıran ayrı bir Visual Studio örneğinde hata ayıklamanızdır.
Önemli
Bu makale öncelikli olarak .NET Framework ile Windows Forms için klasik İşlem İçi Tasarım Aracı yöneliktir. Yordamlar doğrudan uygulanamaz veya .NET'i hedefleyen projelerle tam olarak uyumlu olmayabilir (.NET Framework ile uyumlu olmayabilir).
.NET Framework projeleri için, Tasarım Aracı yalnızca platform hedef ayarlarıyla derleyebilecek projeler Veyax64 tam olarak desteklenir. ActiveX, COM veya diğer 32 bit bileşenleri kullanan projelerde uyumluluk sorunları olabilir. Şu anda önizleme aşamasında olan Out-Of_Process Framework Tasarım Aracı bu uyumluluk sorunlarının çoğunu giderir. Ancak, tasarım zamanı işlevselliğinin yanı sıra 64 bit İşlem İçi Tasarım Aracı çalışmayabilir. İşlem Dışı Çerçeve Tasarım Aracı etkinleştirmek için Araçlar>Seçenekleri>Ortam>Önizleme Özellikleri'ne gidin.
İşlem Dışı Tasarım Aracı hakkında daha fazla bilgi için bkz. .NET Framework'ten bu yana tasarımcı değişiklikleri.
Proje oluşturma
İlk adım, uygulama projesini oluşturmaktır. Özel denetimi barındıran uygulamayı derlemek için bu projeyi kullanacaksınız.
Visual Studio'da bir Windows Uygulaması projesi oluşturun ve debuggingExample adını verin.
Denetim kitaplığı projesi oluşturma
Çözüme bir Windows Denetim Kitaplığı projesi ekleyin.
DebugControlLibrary projesine yeni bir UserControl öğesi ekleyin. DebugControl olarak adlandır.
Çözüm Gezgini'da, temel adı UserControl1 olan kod dosyasını silerek projenin varsayılan denetimini silin.
Çözümü oluşturun.
Checkpoint
Bu noktada Araç Kutusu'nda özel denetiminizi görebilirsiniz.
İlerleme durumunuzu denetlemek için DebugControlLibrary Bileşenleri adlı yeni sekmeyi bulun ve tıklayarak seçin. Açıldığında, denetiminizin yanında varsayılan simgeyle DebugControl olarak listelendiğini görürsünüz.
Özel denetiminize özellik ekleme
Özel denetiminizin kodunun tasarım zamanında çalıştığını göstermek için bir özellik ekler ve özelliği uygulayan kodda bir kesme noktası ayarlarsınız.
Kod Düzenleyicisi'nde DebugControl'i açın. Sınıf tanımına aşağıdaki kodu 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 Property
private string demoStringValue = null; [Browsable(true)] public string DemoString { get { return this.demoStringValue; } set { demoStringValue = value; } }
Çözümü oluşturun.
Özel denetiminizi konak formuna ekleme
Özel denetiminizin tasarım zamanı davranışında hata ayıklamak için, özel denetim sınıfının bir örneğini bir konak formuna yerleştirebilirsiniz.
"DebuggingExample" projesinde, Windows Forms Tasarım Aracı Form1'i açın.
Araç Kutusu'nda DebugControlLibrary Bileşenleri sekmesini açın ve bir DebugControl örneğini forma sürükleyin.
DemoString
Özellikler penceresinde özel özelliği bulun. Değerini diğer tüm özelliklerde olduğu gibi değiştirebileceğinizi unutmayın. Özellik seçildiğinde Özellikler penceresininDemoString
en altında özelliğin açıklama dizesinin göründüğünü de unutmayın.
Projeyi tasarım zamanı hata ayıklaması için ayarlama
Özel denetiminizin tasarım zamanı davranışında hata ayıklamak için, özel denetiminizin kodunu çalıştıran ayrı bir Visual Studio örneğinde hata ayıklayacaksınız.
Çözüm Gezgini DebugControlLibrary projesine sağ tıklayın ve Özellikler'i seçin.
DebugControlLibrary özellik sayfasında Hata Ayıkla sekmesini seçin.
Eylemi Başlat bölümünde Dış programı başlat'ı seçin. Ayrı bir Visual Studio örneğinde hata ayıklayacaksınız, bu nedenle Visual Studio IDE'ye göz atmak için üç nokta () düğmesine tıklayın. Yürütülebilir dosyanın adı devenv.exe'dir ve varsayılan konuma yüklediyseniz yolu %ProgramFiles(x86)%\Microsoft Visual Studio\2019\<edition>\Common7\IDE'dir.
İletişim kutusunu kapatmak için Tamam'ı seçin.
Bu hata ayıklama yapılandırmasını etkinleştirmek için DebugControlLibrary projesine sağ tıklayın ve Başlangıç Projesi Olarak Ayarla'yı seçin.
Tasarım zamanında özel denetiminizde hata ayıklama
Artık tasarım modunda çalışırken özel denetiminizde 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 kullanarak "DebuggingExample" çözümünü yüklersiniz. Form1'i Forms Tasarım Aracı açtığınızda, özel denetiminizin bir örneği oluşturulur ve çalışmaya başlar.
Kod Düzenleyicisi'ndeDebugControl kaynak dosyasını açın ve özelliğin erişimcisine
Set
DemoString
bir kesme noktası yerleştirin.Hata ayıklama oturumunu başlatmak için F5 tuşuna basın. Visual Studio'nun yeni bir örneği oluşturulur. Örnekleri iki şekilde ayırt edebilirsiniz:
Hata ayıklama örneğinin başlık çubuğunda Çalışıyor sözcüğü vardır
Hata ayıklama örneğinin Hata Ayıklama araç çubuğunda Başlat düğmesi devre dışı bırakıldı
Kesme noktanız hata ayıklama örneğinde ayarlanır.
Visual Studio'nun yeni ö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 listelenir.
Önemli
.NET 6 veya sonraki bir Windows Forms projesinde hata ayıklaması yapıyorsanız, bunun yerine bu Visual Studio örneğini kullanarak DesignToolsServer.exe işlemine bir hata ayıklayıcısı ekleyin. İşleme ekleme hatalarını ayıkla>menü öğesini seçin. İşlemler listesinde DesignToolsServer.exe dosyasını bulun ve Attach tuşuna basın. Daha fazla bilgi için bkz . .NET Framework'ten bu yana tasarımcı değişiklikleri.
Formlar Tasarım Aracı Form1'i açın ve DebugControl denetimini seçin.
özelliğinin
DemoString
değerini değiştirin. Değişikliği kaydettiğinizde, Visual Studio'nun hata ayıklama örneği odağı alır ve kesme noktanızda yürütme durur. Diğer kodlarda olduğu gibi özellik erişimcisinde de tek adım adım ilerleyebilirsiniz.Hata ayıklamayı durdurmak için Visual Studio'nun barındırılan örneğinden çıkın veya hata ayıklama örneğinde Hata Ayıklamayı Durdur düğmesini seçin.
Sonraki adımlar
Artık tasarım zamanında özel denetimlerinizin hatalarını ayıklayabileceğinize göre, denetiminizin Visual Studio IDE ile etkileşimini genişletmek için birçok olasılık vardır.
Yalnızca tasarım zamanında yürütülecek kod yazmak için sınıfının özelliğini Component kullanabilirsinizDesignMode. Ayrıntılar için bkz. DesignMode.
Özel denetiminizin tasarımcıyla etkileşimini işlemek için denetiminizin özelliklerine uygulayabileceğiniz çeşitli öznitelikler vardır. Bu öznitelikleri ad alanında System.ComponentModel bulabilirsiniz.
Özel denetiminiz için özel bir tasarımcı yazabilirsiniz. Bu, Visual Studio tarafından kullanıma sunulan genişletilebilir tasarımcı altyapısını kullanarak tasarım deneyimi üzerinde tam denetim sağlar. Ayrıntılar için bkz . İzlenecek Yol: Visual Studio Tasarım Zamanı Özelliklerinden Yararlanan Bir Windows Forms Denetimi Oluşturma.
Ayrıca bkz.
.NET Desktop feedback