Graphics.ReleaseHdc Yöntem

Tanım

Bu GraphicsGetHdc() yöntemine önceki bir çağrı tarafından alınan bir cihaz bağlam tutamacını serbest bırakır.

Aşırı Yüklemeler

ReleaseHdc()

Bu GraphicsGetHdc() yöntemine önceki bir çağrı tarafından alınan bir cihaz bağlam tutamacını serbest bırakır.

ReleaseHdc(IntPtr)

Bu GraphicsGetHdc() yöntemine önceki bir çağrı tarafından alınan bir cihaz bağlam tutamacını serbest bırakır.

ReleaseHdc()

Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs

Bu GraphicsGetHdc() yöntemine önceki bir çağrı tarafından alınan bir cihaz bağlam tutamacını serbest bırakır.

C#
public void ReleaseHdc();

Uygulamalar

Açıklamalar

GetHdc ve ReleaseHdc, Bir Windows cihazının tutamacını almanıza ve bırakmanıza olanak sağlayan iki yöntemdir. Windows tanıtıcısıyla işiniz bittiğinde her zaman ReleaseHdc çağrısıyla GetHdc çağrısını izlemeniz gerekir.

Ayrıca bkz.

Şunlara uygulanır

.NET 10 (package-provided) ve diğer sürümler
Ürün Sürümler
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

ReleaseHdc(IntPtr)

Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs

Bu GraphicsGetHdc() yöntemine önceki bir çağrı tarafından alınan bir cihaz bağlam tutamacını serbest bırakır.

C#
public void ReleaseHdc(IntPtr hdc);

Parametreler

hdc
IntPtr

Bu GraphicsGetHdc() yöntemine önceki bir çağrıyla elde edilen cihaz bağlamını işle.

Örnekler

Aşağıdaki kod örneği Windows Forms ile kullanılmak üzere tasarlanmıştır ve Paint olay işleyicisinin bir parametresi olan PaintEventArgsegerektirir. Örnekte, GDI+ Graphics yöntemiyle aynı görevi gerçekleştirmek için Bir Windows GDI işlevini çağırma gösterilmektedir. Kod aşağıdaki eylemleri gerçekleştirir:

  • gdi32.dllWindows DLL dosyası için birlikte çalışabilirlik DllImportAttribute özniteliğini tanımlar. Bu DLL istenen GDI işlevini içerir ve bu DLL'deki Rectangle işlevini dış olarak tanımlar.

  • Kırmızı kalem oluşturur.

  • Kalemle, GDI+ DrawRectangle yöntemini kullanarak ekrana bir dikdörtgen çizer.

  • hdc bir iç işaretçi türü değişkeni tanımlar ve değerini formun cihaz bağlamı için tanıtıcıya ayarlar.

  • GDI Rectangle işlevini kullanarak ekrana bir dikdörtgen çizer.

  • hdc parametresiyle temsil edilen cihaz bağlamını serbest bırakır.

C#
[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]
private static extern bool Rectangle2(
    IntPtr hdc,
    int ulCornerX, int ulCornerY,
    int lrCornerX, int lrCornerY);

private void GetHdcForGDI2(PaintEventArgs e)
{
    // Create pen.
    Pen redPen = new Pen(Color.Red, 1);

    // Draw rectangle with GDI+.
    e.Graphics.DrawRectangle(redPen, 10, 10, 100, 50);

    // Get handle to device context.
    IntPtr hdc = e.Graphics.GetHdc();

    // Draw rectangle with GDI using default pen.
    Rectangle2(hdc, 10, 70, 110, 120);

    // Release handle to device context.
    e.Graphics.ReleaseHdc(hdc);
}

Açıklamalar

Cihaz bağlamı, bir dizi grafik nesne ve bunların ilişkili özniteliklerinin yanı sıra çıkışı etkileyen grafik modlarını tanımlayan GDI'yi temel alan bir Windows yapısıdır.

GetHdc ve ReleaseHdc yöntemlerine yapılan çağrılar çiftler halinde görünmelidir. GetHdc ve ReleaseHdc yöntem çifti kapsamında genellikle yalnızca GDI işlevlerine çağrı yaparsınız. hdc parametresini oluşturan Graphics GDI+ yöntemlerine yapılan bu kapsamdaki çağrılar ObjectBusy hatasıyla başarısız olur. Ayrıca GDI+, sonraki işlemlerde hdc parametresinin Graphics yapılan durum değişikliklerini yoksayar.

Şunlara uygulanır

.NET 10 (package-provided) ve diğer sürümler
Ürün Sürümler
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10