Export (0) Print
Expand All

Graphics::IsVisible Method (Int32, Int32, Int32, Int32)

Indicates whether the rectangle specified by a pair of coordinates, a width, and a height is contained within the visible clip region of this Graphics.

Namespace:  System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

public:
bool IsVisible(
	int x, 
	int y, 
	int width, 
	int height
)

Parameters

x
Type: System::Int32

The x-coordinate of the upper-left corner of the rectangle to test for visibility.

y
Type: System::Int32

The y-coordinate of the upper-left corner of the rectangle to test for visibility.

width
Type: System::Int32

Width of the rectangle to test for visibility.

height
Type: System::Int32

Height of the rectangle to test for visibility.

Return Value

Type: System::Boolean
true if the rectangle defined by the x, y, width, and height parameters is contained within the visible clip region of this Graphics; otherwise, false.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgs e, which is a parameter of the Paint event handler. The code performs the following actions:

  • Creates a rectangular clipping region and sets it as the clipping region for the graphics object of the form using Replace.

  • Creates the location and size of two rectangles, one inside the clipping region and one outside.

  • Tests each of the rectangles for visibility and draws only the visible one.

The result is one small red rectangle, which is within the clip region.

public:
   void IsVisible4Int( PaintEventArgs^ e )
   {
      // Set clip region.
      System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
      e->Graphics->SetClip( clipRegion, CombineMode::Replace );

      // Set up coordinates of rectangles. 
      int x1 = 100;
      int y1 = 100;
      int width1 = 20;
      int height1 = 20;
      int x2 = 200;
      int y2 = 200;
      int width2 = 20;
      int height2 = 20;

      // If rectangle is visible, fill it. 
      if ( e->Graphics->IsVisible( x1, y1, width1, height1 ) )
      {
         e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), x1, y1, width1, height1 );
      }

      if ( e->Graphics->IsVisible( x2, y2, width2, height2 ) )
      {
         e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), x2, y2, width2, height2 );
      }
   }

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft