和在VB等語言中實現方式一樣,調用Windows API.
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace Jacky.Win32API {
/**//// <summary>
/// Show Windows About Box
/// </summary>
public class AboutBox {
[DllImport("shell32.dll")]
private static extern long ShellAbout(int hWnd, string szApp, string szOtherStuff, int hIcon);
private string _Title = Application.ProductName;
private int _FormHandle = 0;
private int _IconHandle = 0;
private string _Version = Application.ProductVersion;
/**//// <summary>
///
/// </summary>
/// <param name="FormHandle"></param>
/// <param name="IconHandle"></param>
/// <param name="Title"></param>
/// <param name="Version"></param>
/// <example>new AboutBox(this.Handle.ToInt32(), this.Icon.Handle.ToInt32(), "軟體名稱", "版本號碼Version 1.0").Show();</example>
public AboutBox(int FormHandle, int IconHandle, string Title, string Version) {
this._FormHandle = FormHandle;
this._IconHandle = IconHandle;
this._Title = Title;
this._Version = Version;
}
/**//// <summary>
///
/// </summary>
/// <param name="FormHandle"></param>
/// <param name="IconHandle"></param>
/// <example>new AboutBox(this.Handle.ToInt32(), this.Icon.Handle.ToInt32(), "軟體名稱", "版本號碼Version 1.0").Show();</example>
public AboutBox(int FormHandle, int IconHandle) {
this._FormHandle = FormHandle;
this._IconHandle = IconHandle;
}
public long Show(){
return ShellAbout(this._FormHandle, this._Title, this._Version, this._IconHandle);
}
}
}
調用方式:
new AboutBox(this.Handle.ToInt32(), this.Icon.Handle.ToInt32(), "軟體名稱", "版本號碼Version 1.0").Show();