<ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <linklocation="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
The <seecref="T:Gtk.AboutDialog"/> offers a simple way to display information about a program like its logo, name, copyright, website and license. It is also possible to give credits to the authors, documenters, translators and artists who have worked on the program. An about dialog is typically opened when the user selects the About option from the Help menu. All parts of the dialog are optional.
</para>
<para>
About dialogs often contain links and email addresses. <seecref="T:Gtk.AboutDialog"/> supports this by offering global hooks, which are called when the user clicks on a link or email address, see <seecref="M:Gtk.AboutDialog.SetEmailHook()"/> and <seecref="M:Gtk.AboutDialog.SetUrlHook()"/>. Email addresses in the authors, documenters and artists properties are recognized by looking for <user@host>, URLs are recognized by looking for http://url, with url extending to the next space, tab or line break.
</para>
<!--
<para>
To make constructing a <seecref="T:Gtk.AboutDialog"/> as convenient as possible, you can use the function <seecref="M:Gtk.ShowAboutDialog()"/> which constructs and shows a dialog and keeps it around so that it can be shown again.
<summary>Constructs and initializes a new instance of <seecref="T:Gtk.AboutDialog"/> using an existing unmanaged object as its base.</summary>
<paramname="raw">A <seecref="T:System.IntPtr"/> pointing to the raw object to be managed by the new instance.</param>
<remarks>This is not typically used by managed code. It is primarily used for enclosing an existing object, created by unmanaged code, in a managed wrapper.</remarks>
<summary>Gets and sets the license text of the program.</summary>
<value>A <seecref="T:System.String"/> object containing the license text to display with the current instance.</value>
<remarks>This string is displayed in a text view in a secondary dialog, therefore it is fine to use a long multi-paragraph text. Note that by default the text is not wrapped in the text view, thus it must contain the intended linebreaks.</remarks>
<summary>Gets and sets the name of the program.</summary>
<value>A <seecref="T:System.String"/> object containing the name of the program.</value>
<remarks>The default value is the name of the executing assembly. This may be in the format "MyApplication.exe", "/path/to/MyApplication.exe", or "C:\Path\To\MyApplication.exe" depending on how the assembly was executed and on what platform.</remarks>
<summary>Gets and sets copyright information for the program.</summary>
<value>A <seecref="T:System.String"/> object containing copyright information for the program.</value>
<remarks>
<para>The copyright text appears below the <seecref="T:Gtk.AboutDialog.Comments"/> text and above the <seecref="T:Gtk.AboutDialog.Website"/> link on the dialog. If unset, not copyright text will appear.</para>
<summary>Gets and sets credits for the translation of the program.</summary>
<value>A <seecref="T:System.String"/> object containing credits for the translation of the program.</value>
<remarks>This string should be marked as translatable. Each string may contain email addresses and URLs, which will be displayed as links. See the remarks on <seecref="T:Gtk.AboutDialog"/> for more details.</remarks>
<summary>Gets and sets the name of the logo icon to display above the program name in the dialog.</summary>
<value>A <seecref="T:System.String"/> object containing the name of the logo icon to display above the program name in the dialog.</value>
<remarks>
<blocksubset="none"type="note">
If set, this property overrides the <seecref="P:Gtk.AboutDialog.Logo"/> property.
</block>
<para>The name should be equal to the name of the program, without any sort of extension, eg. <c>"monodoc"</c>. The dialog will use that name to load an icon by trying the following:</para>
<listtype="number">
<item>
<term>The current icon theme, eg. <c>"/usr/share/icons/Tango/48x48/apps/monodoc.png"</c>.</term>
<summary>Gets and sets the text label to display for the link to <seecref="P:Gtk.AboutDialog.Website"/>.</summary>
<value>A <seecref="T:System.String"/> containing the text label to display for the link to <seecref="P:Gtk.AboutDialog.Website"/>.</value>
<remarks>This value is used to provide a user friendly link to the website, for example <c>"Visit home page."</c> or <c>"AppName website"</c>. If not set, the link defaults to the URL specified in the <seecref="P:Gtk.AboutDialog.Website"/> property.</remarks>
<summary>Gets and sets the URL of the program's website.</summary>
<value>A <seecref="T:System.String"/> containing the URL of the program's website.</value>
<remarks>
<para>The value should be a string starting with "http://". If set, the link is displayed at the bottom of the dialog, however if <seecref="M:Gtk.AboutDialog.SetUriHook"/> has not been used, the URL will appear as plain text and not be clickable.</para>
<para>
<blocksubset="none"type="note">
<seecref="P:Gtk.AboutDialog.WebsiteLabel"/> may be used to provide a plain-text label for the link.</block>
<summary>Gets and sets a comment about the program to appear immediately below the program name in the dialog.</summary>
<value>A <seecref="T:System.String"/> object containing a comment, description, or subtitle for the program.</value>
<remarks>
<para>If unset, no comment text is displayed.</para>
<para>This string is displayed in a label in the main dialog, thus it should be a short explanation of the main purpose of the program, not a detailed list of features.</para>
<summary>Get and set the version of the program.</summary>
<value>A <seecref="T:System.String"/> object containing the version of the program.</value>
<remarks>The most appropriate value to put here would be the assembly version, but any string is valid, eg "2.0.0.1", "2.5.3", "2.0 RC1", etc.</remarks>
<paramname="func">A <seecref="T:Gtk.AboutDialogActivateLinkFunc"/> delegate to be called when an email link is activated.</param>
<returns>The <seecref="T:Gtk.AboutDialogActivateLinkFunc"/> delegate that was previously used as the email hook.</returns>
<remarks>If no hook is set, email addresses will appear in the dialogs as standard non-clickable text.
<example><para>The following example uses the built in <seecref="Gnome.Url.Show(System.String)"/> to open emails:</para><codelang="C#"> Gtk.AboutDialog.SetEmailHook(delegate(Gtk.AboutDialog dialog, string email) {
<summary>Gets and sets the list of people who contributed documentation to the program.</summary>
<value>A <seecref="T:System.String[]"/> containing the list of people who contributed documentation to the program.</value>
<remarks>Each string may contain email addresses and URLs, which will be displayed as links. See the remarks on <seecref="T:Gtk.AboutDialog"/> for more details.</remarks>
<summary>Gets and sets the list of people who authored the program.</summary>
<value>A <seecref="T:System.String[]"/> containing the list of people who authored the program.</value>
<remarks>Each string may contain email addresses and URLs, which will be displayed as links. See the remarks on <seecref="T:Gtk.AboutDialog"/> for more details.</remarks>
<summary>Gets and sets the list of people who contributed artwork to the program.</summary>
<value>A <seecref="T:System.String[]"/> containing the list of people who contributed artwork to the program.</value>
<remarks>Each string may contain email addresses and URLs, which will be displayed as links. See the remarks on <seecref="T:Gtk.AboutDialog"/> for more details.</remarks>
<summary>Gets and sets whether the text in the <seecref="P:Gtk.AboutDialog.License"/> is to be automatically wrapped.</summary>
<value>If <seelangword="true"/>, the text is auto-wrapped. Otherwise long lines of text will extend past the edge of the frame and a horizontal scroll bar will appear.</value>
<remarks>By default, this option is set to <seelangword="false"/>. Most standard licenses, as will be found in the LICENSE file of a package, are already manually wrapped and auto-wrapping is unneccessary an unwanted.</remarks>