一 、form
button.PerformClick();
二、wpf
wpf中沒有提供這個方法 google一番 可以使用自動化測試工具封裝好的dll來實現
UIAutomationProvider.dll
下載地址:http://originaldll.com/file/uiautomationprovider.dll/8066.html
使用方法
using System.Windows.Automation.Peers;
using System.Windows.Automation.Provider;
/// <summary>
/// 擴展方法 該類必須設置成static
/// </summary>
public static partial class Extensions
{
/// <summary>
/// 擴展方法:實現WPF中Button類的PerformClick功能
/// </summary>
/// <param name="button">Button實例</param>
/// <remarks>
/// 需要添加對UIAutomationProvider.dll的引用
/// 參考網址:http://www.cnblogs.com/zhouyinhui/archive/2010/05/20/1740111.html
/// </remarks>
public static void PerformClick(this Button button)
{
ButtonAutomationPeer BAP = new ButtonAutomationPeer(button);
IInvokeProvider IIP = BAP.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
if (IIP != null)
{
IIP.Invoke();
}
}
}