public RemarksBlock(NuGenCustomTypeEditorServiceContext serviceContext)
			{
				if (serviceContext == null)
				{
					throw new ArgumentNullException("serviceContext");
				}

				_pictureBox = new EditorPictureBox(serviceContext);

				_remarksHeaderTextBox = new HeaderTextBox();
				_remarksHeaderTextBox.Dock = DockStyle.Fill;
				_remarksHeaderTextBox.TabIndex = 0;

				_remarksTextBox = new ContentTextBox();
				_remarksTextBox.Dock = DockStyle.Fill;
				_remarksTextBox.TabIndex = 1;

				_layoutPanel = new EditorTableLayoutPanel();
				_layoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 30));
				_layoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100));
				_layoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 26));
				_layoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 100));
				_layoutPanel.Controls.Add(_pictureBox, 0, 0);
				_layoutPanel.Controls.Add(_remarksHeaderTextBox, 1, 0);
				_layoutPanel.Controls.Add(_remarksTextBox, 1, 1);
				_layoutPanel.Parent = this;

				this.Dock = DockStyle.Bottom;
			}
			public EditorPictureBox(NuGenCustomTypeEditorServiceContext serviceContext)
			{
				if (serviceContext == null)
				{
					throw new ArgumentNullException("serviceContext");
				}

				_serviceContext = serviceContext;

				this.BackColor = SystemColors.Window;
				this.BorderStyle = BorderStyle.FixedSingle;
				this.Dock = DockStyle.Fill;
				this.SizeMode = PictureBoxSizeMode.CenterImage;
			}
		/// <summary>
		/// Initializes a new instance of the <see cref="NuGenToolTipInfoEditorUI"/> class.
		/// </summary>
		/// <param name="serviceContext"></param>
		/// <param name="serviceProvider">
		/// <para>Requires:</para>
		/// <para><see cref="INuGenToolTipLayoutManager"/></para>
		/// <para><see cref="INuGenToolTipRenderer"/></para>
		/// </param>
		/// <param name="initialTooltipInfo"></param>
		/// <exception cref="ArgumentNullException">
		/// <para>
		///		<paramref name="serviceProvider"/> is <see langword="null"/>.
		/// </para>
		/// -or-
		/// <para>
		///		<paramref name="serviceContext"/> is <see langword="null"/>.
		/// </para>
		/// </exception>
		public NuGenToolTipInfoEditorUI(
			INuGenServiceProvider serviceProvider,
			NuGenToolTipInfo initialTooltipInfo,
			NuGenCustomTypeEditorServiceContext serviceContext
			)
		{
			if (serviceProvider == null)
			{
				throw new ArgumentNullException("serviceProvider");
			}

			if (serviceContext == null)
			{
				throw new ArgumentNullException("serviceContext");
			}

			_serviceProvider = serviceProvider;

			this.SuspendLayout();

			_mainBlock = new MainBlock(serviceContext);
			_mainBlock.Parent = this;

			_remarksBlock = new RemarksBlock(serviceContext);
			_remarksBlock.Height = 100;
			_remarksBlock.Parent = this;

			_okButton = new Button();
			_okButton.DialogResult = DialogResult.OK;
			_okButton.TabIndex = 0;
			_okButton.Text = Resources.Text_ToolTipInfoEditor_okButton;

			_cancelButton = new Button();
			_cancelButton.DialogResult = DialogResult.Cancel;
			_cancelButton.TabIndex = 1;
			_cancelButton.Text = Resources.Text_ToolTipInfoEditor_cancelButton;

			_sizeBlock = new SizeBlock();
			_sizeBlock.Parent = this;

			_dialogLayoutPanel = new DialogFlowLayoutPanel();
			_dialogLayoutPanel.Controls.Add(_cancelButton);
			_dialogLayoutPanel.Controls.Add(_okButton);
			_dialogLayoutPanel.Parent = this;

			this.CancelButton = _cancelButton;
			this.FormBorderStyle = FormBorderStyle.FixedDialog;
			this.MaximizeBox = false;
			this.MinimizeBox = false;
			this.Padding = new Padding(3);
			this.ShowIcon = false;
			this.ShowInTaskbar = false;
			this.Size = new Size(350, 400);
			this.StartPosition = FormStartPosition.CenterParent;
			this.Text = Resources.Text_ToolTipInfoEditor_EditorForm;
			
			this.SetStateFromTooltipInfo(initialTooltipInfo);
			this.ResumeLayout(false);
		}
			public MainBlock(NuGenCustomTypeEditorServiceContext serviceContext)
			{
				if (serviceContext == null)
				{
					throw new ArgumentNullException("serviceContext");
				}

				_pictureBox = new EditorPictureBox(serviceContext);
				_pictureBox.Paint += _pictureBox_Paint;

				_headerTextBox = new HeaderTextBox();
				_headerTextBox.Dock = DockStyle.Fill;
				_headerTextBox.TabIndex = 0;

				_textTextBox = new ContentTextBox();
				_textTextBox.Dock = DockStyle.Fill;
				_textTextBox.TabIndex = 1;

				_layoutPanel = new EditorTableLayoutPanel();
				_layoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 130));
				_layoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100));
				_layoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 26));
				_layoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 100));
				_layoutPanel.Controls.Add(_headerTextBox, 0, 0);
				_layoutPanel.Controls.Add(_pictureBox, 0, 1);
				_layoutPanel.Controls.Add(_textTextBox, 1, 1);
				_layoutPanel.SetColumnSpan(_headerTextBox, 2);
				_layoutPanel.Parent = this;

				this.Dock = DockStyle.Fill;
			}