# C1.Win.TouchToolKit.C1Zoom.ControlBoundsZooming

## Content

<div class="doc-site-dotnet-api-container">




<h1 id="C1_Win_TouchToolKit_C1Zoom_ControlBoundsZooming" data-uid="C1.Win.TouchToolKit.C1Zoom.ControlBoundsZooming" class="text-break">ControlBoundsZooming Event
</h1>
<div class="markdown level0 summary"><p>Occurs before <a class="xref" href="C1.Win.TouchToolKit.C1Zoom.html">C1Zoom</a> start zoom the target control's bounds.</p>
</div>
<div class="markdown level0 conceptual"></div>
<h6><strong>Namespace</strong>: <a class="xref" href="C1.Win.TouchToolKit.html">C1.Win.TouchToolKit</a></h6>
<h6><strong>Assembly</strong>: C1.Win.TouchToolKit.10.dll</h6>
<h5 id="C1_Win_TouchToolKit_C1Zoom_ControlBoundsZooming_syntax">Syntax</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public event EventHandler&lt;ControlBoundsZoomingEventArgs&gt; ControlBoundsZooming</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Event ControlBoundsZooming As EventHandler(Of ControlBoundsZoomingEventArgs)</code></pre>
</div>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.eventhandler-1">EventHandler</a>&lt;<a class="xref" href="C1.Win.TouchToolKit.ControlBoundsZoomingEventArgs.html">ControlBoundsZoomingEventArgs</a>&gt;</td>
      <td>Occurs before  start zoom the target control's bounds.</td>
    </tr>
  </tbody>
</table>
<h5 id="C1_Win_TouchToolKit_C1Zoom_ControlBoundsZooming_remarks"><strong>Remarks</strong></h5>
<div class="markdown level0 remarks"><p>
You can set <a class="xref" href="C1.Win.TouchToolKit.ControlBoundsZoomingEventArgs.Handled.html#C1_Win_TouchToolKit_ControlBoundsZoomingEventArgs_Handled">Handled</a> to avoid default logic of <a class="xref" href="C1.Win.TouchToolKit.C1Zoom.html">C1Zoom</a> for current control.
</p>
<p>
You can set <a class="xref" href="C1.Win.TouchToolKit.ControlBoundsZoomingEventArgs.ChildrenHandled.html#C1_Win_TouchToolKit_ControlBoundsZoomingEventArgs_ChildrenHandled">ChildrenHandled</a> to avoid default logic of <a class="xref" href="C1.Win.TouchToolKit.C1Zoom.html">C1Zoom</a> for current control's child control.
</p>
</div>
<h5 id="C1_Win_TouchToolKit_C1Zoom_ControlBoundsZooming_examples"><strong>Examples</strong></h5>
<p>
  The following code example shows how to use this event.
</p>
<p>
  This code example is part of a larger example provided for the <a class="xref" href="C1.Win.TouchToolKit.C1Zoom.ZoomFactorChanged.html">ZoomFactorChanged</a> event.
</p>
<pre><code class="lang-csharp">public class GcZoomEventDemo : Form
{
	private GcZoom _gcZoom1 = new GcZoom();

	public GcZoomEventDemo()
	{
		_gcZoom1.Target = this;
		_gcZoom1.AutoShowControl = true;
		_gcZoom1.ControlBoundsZooming += _gcZoom1_ControlBoundsZooming;
	}

	void _gcZoom1_ControlBoundsZooming(object sender, ControlBoundsZoomingEventArgs e)
	{
		ZoomBoundsInfo info = e.ZoomBoundsInfo;

		Console.WriteLine(e.TargetControl.ToString());
		Console.WriteLine(info.CurrentFactor.ToString());
		Console.WriteLine(info.TargetFactor.ToString());

		// For complex control, user may want to change the control's inner element's size.
		// User can use ControlBoundsZooming to support complex control.
		if (e.TargetControl is TextBox)
		{
			// If set to true, default zoom logic for this control will be canceled.
			e.Handled = true;
		}

		// If target control has children controls and wan't to use default zoom logic for children 
		// controls, set e.ChildrenHandled property to true.
		// e.ChildrenHandled = true; 
	}
}</code></pre>
<pre><code class="lang-csharp">Public Class GcZoomEventDemo
	Inherits Form
	Private _gcZoom1 As New GcZoom()

	Public Sub New()
		_gcZoom1.Target = Me
		_gcZoom1.AutoShowControl = True
		AddHandler _gcZoom1.ControlBoundsZooming, AddressOf _gcZoom1_ControlBoundsZooming
	End Sub

	Private Sub _gcZoom1_ControlBoundsZooming(sender As Object, e As ControlBoundsZoomingEventArgs)
		Dim info As ZoomBoundsInfo = e.ZoomBoundsInfo

		Console.WriteLine(e.TargetControl.ToString())
		Console.WriteLine(info.CurrentFactor.ToString())
		Console.WriteLine(info.TargetFactor.ToString())

		' For complex control, user may want to change the control's inner element's size.
		' User can use ControlBoundsZooming to support complex control.
		If TypeOf e.TargetControl Is TextBox Then
			' If set to true, default zoom logic for this control will be canceled.
			e.Handled = True
		End If

		' If target control has children controls and wan't to use default zoom logic for children 
		' controls, set e.ChildrenHandled property to true.
		' e.ChildrenHandled = true; 
	End Sub
End Class</code></pre>

</div>
