ControlExts.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using System;
  2. using System.Windows.Forms;
  3. namespace ReleaseHelper.Utils
  4. {
  5. internal class ControlExts
  6. {
  7. public static Form MessageBoxShowForm;
  8. /// <summary>
  9. /// 窗体操作代理
  10. /// </summary>
  11. /// <param name="form"></param>
  12. /// <param name="method"></param>
  13. public static void FormInvoke(Form form, Action method)
  14. {
  15. if (form.InvokeRequired)
  16. {
  17. try
  18. {
  19. form.Invoke((EventHandler)delegate { method(); });
  20. }
  21. catch { }
  22. }
  23. else
  24. {
  25. try
  26. {
  27. method();
  28. }
  29. catch { }
  30. }
  31. }
  32. /// <summary>
  33. /// 信息提示框
  34. /// </summary>
  35. /// <param name="text"></param>
  36. /// <param name="caption"></param>
  37. /// <param name="buttons"></param>
  38. /// <param name="icon"></param>
  39. /// <param name="defaultButton"></param>
  40. /// <returns></returns>
  41. public static DialogResult ShowMessageBox(string text, string caption = "提示", MessageBoxButtons buttons = MessageBoxButtons.OK, MessageBoxIcon icon = MessageBoxIcon.Information, MessageBoxDefaultButton defaultButton = MessageBoxDefaultButton.Button1)
  42. {
  43. DialogResult act()
  44. {
  45. return MessageBox.Show(MessageBoxShowForm, text, caption, buttons, icon, defaultButton);
  46. }
  47. DialogResult result = DialogResult.None;
  48. if (MessageBoxShowForm.InvokeRequired)
  49. {
  50. MessageBoxShowForm.Invoke((EventHandler)delegate { result = act(); });
  51. }
  52. else
  53. {
  54. result = act();
  55. }
  56. return result;
  57. }
  58. }
  59. }