/// <summary>
		/// Releases the unmanaged resources used by the <see cref="T:System.ComponentModel.Component"></see> and optionally releases the managed resources.
		/// </summary>
		/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
		protected override void Dispose(bool disposing)
		{
			if (disposing)
			{
				if (_presenterForm != null)
				{
					_presenterForm.Dispose();
					_presenterForm = null;
				}
			}

			base.Dispose(disposing);
		}
		/// <summary>
		/// Initializes a new instance of the <see cref="NuGenPresenter"/> class.
		/// </summary>
		/// <param name="serviceProvider"><para>Requires:</para>
		/// 	<para><see cref="INuGenButtonStateService"/></para>
		/// 	<para><see cref="INuGenControlStateService"/></para>
		///		<para><see cref="INuGenButtonLayoutManager"/></para>
		///		<para><see cref="INuGenButtonRenderer"/></para>
		/// 	<para><see cref="INuGenCheckBoxLayoutManager"/></para>
		/// 	<para><see cref="INuGenCheckBoxRenderer"/></para>
		///		<para><see cref="INuGenColorsProvider"/></para>
		/// 	<para><see cref="INuGenComboBoxRenderer"/></para>
		///		<para><see cref="INuGenControlImageManager"/></para>
		///		<para><see cref="INuGenDropDownRenderer"/></para>
		/// 	<para><see cref="INuGenDirectorySelectorRenderer"/></para>
		/// 	<para><see cref="INuGenImageListService"/></para>
		///		<para><see cref="INuGenListBoxRenderer"/></para>
		///		<para><see cref="INuGenFontFamiliesProvider"/></para>
		/// 	<para><see cref="INuGenPanelRenderer"/></para>
		/// 	<para><see cref="INuGenProgressBarLayoutManager"/></para>
		/// 	<para><see cref="INuGenProgressBarRenderer"/></para>
		///		<para><see cref="INuGenRadioButtonLayoutManager"/></para>
		///		<para><see cref="INuGenRadioButtonRenderer"/></para>
		/// 	<para><see cref="INuGenScrollBarRenderer"/></para>
		///		<para><see cref="INuGenSpinRenderer"/></para>
		/// 	<para><see cref="INuGenSwitchButtonLayoutManager"/></para>
		/// 	<para><see cref="INuGenSwitchButtonRenderer"/></para>
		///		<para><see cref="INuGenTabStateService"/></para>
		///		<para><see cref="INuGenTabLayoutManager"/></para>
		///		<para><see cref="INuGenTabRenderer"/></para>
		///		<para><see cref="INuGenTempImageService"/></para>
		/// 	<para><see cref="INuGenTextBoxRenderer"/></para>
		/// 	<para><see cref="INuGenTrackBarRenderer"/></para>
		/// 	<para><see cref="INuGenThumbnailLayoutManager"/></para>
		/// 	<para><see cref="INuGenThumbnailRenderer"/></para>
		/// 	<para><see cref="INuGenToolStripRenderer"/></para>
		/// 	<para><see cref="INuGenValueTrackerService"/></para>
		/// </param>
		/// <exception cref="ArgumentNullException">
		/// <para><paramref name="serviceProvider"/> is <see langword="null"/>.</para>
		/// </exception>
		public NuGenPresenter(INuGenServiceProvider serviceProvider)
		{
			if (serviceProvider == null)
			{
				throw new ArgumentNullException("serviceProvider");
			}

			_serviceProvider = serviceProvider;
			_presenterForm = new NuGenPresenterForm(serviceProvider);
		}