Graphics.EndContainer(GraphicsContainer) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli grafik kapsayıcısını kapatır ve bunun Graphics durumunu yöntemine yapılan bir çağrı BeginContainer() tarafından kaydedilen duruma geri yükler.
public:
void EndContainer(System::Drawing::Drawing2D::GraphicsContainer ^ container);
public void EndContainer (System.Drawing.Drawing2D.GraphicsContainer container);
member this.EndContainer : System.Drawing.Drawing2D.GraphicsContainer -> unit
Public Sub EndContainer (container As GraphicsContainer)
Parametreler
- container
- GraphicsContainer
GraphicsContainer bu yöntemin geri yüklediğini kapsayıcıyı temsil eder.
Örnekler
Aşağıdaki kod örneği, Windows Forms ile kullanılmak üzere tasarlanmıştır ve olay işleyicisinin Paint bir parametresi olan gerektirir.PaintEventArgse
Kod aşağıdaki eylemleri gerçekleştirir:
Yeni bir grafik kapsayıcısı açar ve eski kapsayıcıyı kaydeder.
Kapsayıcıdaki dünya koordinatlarını çevirir.
Yeni kapsayıcıda (çevrilmiş koordinatları) kırmızı bir dikdörtgen doldurur.
Yeni kapsayıcıyı kapatır ve kaydedilen kapsayıcıyı geri yükler.
Kaydedilen kapsayıcının yeşil bir dikdörtgenini (çevrilmemiş koordinatlara) doldurur.
Sonuç, aynı boyuttaki kırmızı dikdörtgeni aşan yeşil bir dikdörtgendir.
public:
void EndContainerState( PaintEventArgs^ e )
{
// Begin graphics container.
GraphicsContainer^ containerState = e->Graphics->BeginContainer();
// Translate world transformation.
e->Graphics->TranslateTransform( 100.0F, 100.0F );
// Fill translated rectangle in container with red.
e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), 0, 0, 200, 200 );
// End graphics container.
e->Graphics->EndContainer( containerState );
// Fill untransformed rectangle with green.
e->Graphics->FillRectangle( gcnew SolidBrush( Color::Green ), 0, 0, 200, 200 );
}
public void EndContainerState(PaintEventArgs e)
{
// Begin graphics container.
GraphicsContainer containerState = e.Graphics.BeginContainer();
// Translate world transformation.
e.Graphics.TranslateTransform(100.0F, 100.0F);
// Fill translated rectangle in container with red.
e.Graphics.FillRectangle(new SolidBrush(Color.Red), 0, 0, 200, 200);
// End graphics container.
e.Graphics.EndContainer(containerState);
// Fill untransformed rectangle with green.
e.Graphics.FillRectangle(new SolidBrush(Color.Green), 0, 0, 200, 200);
}
Public Sub EndContainerState(ByVal e As PaintEventArgs)
' Begin graphics container.
Dim containerState As GraphicsContainer = _
e.Graphics.BeginContainer()
' Translate world transformation.
e.Graphics.TranslateTransform(100.0F, 100.0F)
' Fill translated rectangle in container with red.
e.Graphics.FillRectangle(New SolidBrush(Color.Red), 0, 0, _
200, 200)
' End graphics container.
e.Graphics.EndContainer(containerState)
' Fill untransformed rectangle with green.
e.Graphics.FillRectangle(New SolidBrush(Color.Green), 0, 0, _
200, 200)
End Sub
Açıklamalar
İç içe grafik kapsayıcıları oluşturmak için yöntemiyle BeginContainer bu yöntemi kullanın. Grafik kapsayıcıları dönüştürme, kırpma bölgesi ve işleme özellikleri gibi grafik durumunu korur.
yöntemini GraphicsçağırdığınızdaBeginContainer, durumunu tutan Graphics bir bilgi bloğu bir yığına konur. yöntemi, BeginContainer bu bilgi bloğunu tanımlayan bir GraphicsContainer döndürür. Tanımlayıcı nesneyi yöntemine EndContainer geçirdiğinizde, bilgi bloğu yığından kaldırılır ve öğesini yöntem çağrısı sırasındaki BeginContainer durumuna geri yüklemek Graphics için kullanılır.
Kapsayıcılar iç içe yerleştirilebilir; diğer bir ifadeyle BeginContainer , yöntemini çağırmadan önce yöntemini birkaç kez çağırabilirsiniz EndContainer . yöntemini her çağırdığınızda BeginContainer yığına bir bilgi bloğu eklenir ve bilgi bloğu için bir GraphicsContainer alırsınız. Yöntemine EndContainer bu nesnelerden birini geçirdiğinizde, Graphics yöntemi çağrısı sırasında içinde olduğu BeginContainer duruma döndürülür ve bu belirli GraphicsContaineröğesini döndürür. Bu yöntem çağrısı tarafından BeginContainer yığına yerleştirilen bilgi bloğu yığından kaldırılır ve bu yöntem çağrısından sonra BeginContainer bu yığına yerleştirilen tüm bilgi blokları da kaldırılır.
yöntemine yapılan Save çağrılar, yöntem çağrıları ile aynı yığına bilgi blokları BeginContainer yerleştirir. Yöntem çağrısının yöntem BeginContainer çağrısıyla eşlendiği gibiEndContainer, yöntem Restore çağrısı da yöntem Save çağrısıyla eşleştirilir.
yöntemini çağırdığınızda, yönteme EndContainer karşılık gelen çağrıdan BeginContainer sonra yığına yerleştirilen tüm bilgi blokları (Saveyöntemi veya yöntemi tarafındanBeginContainer) yığından kaldırılır. Benzer şekilde, yöntemini çağırdığınızdaRestore, yönteme karşılık gelen çağrıdan Save sonra yığına yerleştirilen tüm bilgi blokları (Saveyöntemi veya BeginContainer yöntemi tarafından) yığından kaldırılır.
Şunlara uygulanır
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin