# C1.Win.TouchToolKit.C1Zoom.ControlFontZooming

## Content

<div class="doc-site-dotnet-api-container">




<h1 id="C1_Win_TouchToolKit_C1Zoom_ControlFontZooming" data-uid="C1.Win.TouchToolKit.C1Zoom.ControlFontZooming" class="text-break">ControlFontZooming 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 font.</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_ControlFontZooming_syntax">Syntax</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public event EventHandler&lt;ControlFontZoomingEventArgs&gt; ControlFontZooming</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Event ControlFontZooming As EventHandler(Of ControlFontZoomingEventArgs)</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.ControlFontZoomingEventArgs.html">ControlFontZoomingEventArgs</a>&gt;</td>
      <td>Occurs before  start zoom the target control's font.</td>
    </tr>
  </tbody>
</table>
<h5 id="C1_Win_TouchToolKit_C1Zoom_ControlFontZooming_remarks"><strong>Remarks</strong></h5>
<div class="markdown level0 remarks"><p>
You can set <a class="xref" href="C1.Win.TouchToolKit.ControlFontZoomingEventArgs.Handled.html#C1_Win_TouchToolKit_ControlFontZoomingEventArgs_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.ControlFontZoomingEventArgs.ChildrenHandled.html#C1_Win_TouchToolKit_ControlFontZoomingEventArgs_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_ControlFontZooming_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.ControlFontZooming += _gcZoom1_ControlFontZooming;
	}

	void _gcZoom1_ControlFontZooming(object sender, ControlFontZoomingEventArgs e)
	{
		ZoomFontInfo info = e.ZoomFontInfo;

		Console.WriteLine(e.TargetControl.ToString());
		Console.WriteLine(info.CurrentFontSize.ToString());

		// For complex control, user may want to change the control's inner element's font.
		// User can use ControlFontZooming to support complex control.
		if (e.TargetControl is TextBox)
		{
			e.TargetControl.Font = new Font(e.TargetControl.Font.FontFamily, e.ZoomFontInfo.CurrentFontSize);

			// 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.ControlFontZooming, AddressOf _gcZoom1_ControlFontZooming
	End Sub

	Private Sub _gcZoom1_ControlFontZooming(sender As Object, e As ControlFontZoomingEventArgs)
		Dim info As ZoomFontInfo = e.ZoomFontInfo

		Console.WriteLine(e.TargetControl.ToString())
		Console.WriteLine(info.CurrentFontSize.ToString())

		' For complex control, user may want to change the control's inner element's font.
		' User can use ControlFontZooming to support complex control.
		If TypeOf e.TargetControl Is TextBox Then
			e.TargetControl.Font = New Font(e.TargetControl.Font.FontFamily, e.ZoomFontInfo.CurrentFontSize)

			' 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>
