对于我的 Winform 应用程序,我使用了 ClickSuppressor,以便通过按下按钮两次或更多次来执行多个操作。我想知道 WebForms 和 MVC 应用程序呢?我们是否还需要在此类项目中使用ClickSuppressor ?
using (new MyClass.ClickSuppressor(this))
{
try
{
//my action code i.e. add record
}
}
我的课:
/// <summary>
/// Stops to queue event in order to prevent from "multiple click" when adding a new record.
/// </summary>
internal class ClickSuppressor : IDisposable
{
private Control mCtrl;
public ClickSuppressor(Control ctrl)
{
mCtrl = ctrl;
mCtrl.Enabled = false;
mCtrl.Update();
}
public void Dispose()
{
Application.DoEvents();
/* Or this:
MethodInfo mi = typeof(Control).GetMethod("RemovePendingMessages", BindingFlags.Instance | BindingFlags.NonPublic);
mi.Invoke(mCtrl, new object[] { 0x201, 0x203 });
mi.Invoke(mCtrl.Parent, new object[] { 0x201, 0x203 });
*/
if (!mCtrl.IsDisposed) mCtrl.Enabled = true;
}
}