İ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

  1. Çözüme bir Windows Denetim Kitaplığı projesi ekleyin.

  2. DebugControlLibrary projesine yeni bir UserControl öğesi ekleyin. DebugControl olarak adlandır.

  3. Çözüm Gezgini'da, temel adı UserControl1 olan kod dosyasını silerek projenin varsayılan denetimini silin.

  4. Çö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.

  1. 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;
        }
    }
    
  2. Çö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.

  1. "DebuggingExample" projesinde, Windows Forms Tasarım Aracı Form1'i açın.

  2. Araç Kutusu'nda DebugControlLibrary Bileşenleri sekmesini açın ve bir DebugControl örneğini forma sürükleyin.

  3. 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 penceresinin DemoString 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.

  1. Çözüm Gezgini DebugControlLibrary projesine sağ tıklayın ve Özellikler'i seçin.

  2. 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 (The Ellipsis button (...) in the Properties window of Visual Studio) 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.

  3. İletişim kutusunu kapatmak için Tamam'ı seçin.

  4. 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.

  1. Kod Düzenleyicisi'ndeDebugControl kaynak dosyasını açın ve özelliğin erişimcisine SetDemoString bir kesme noktası yerleştirin.

  2. 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.

  3. 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.

  4. Formlar Tasarım Aracı Form1'i açın ve DebugControl denetimini seçin.

  5. ö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.

  6. 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.