U_Editor_express.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System;
  2. using System.ComponentModel;
  3. using System.Drawing.Design;
  4. using System.Windows.Forms;
  5. using System.Windows.Forms.Design;
  6. using Microsoft.VisualBasic;
  7. using Microsoft.VisualBasic.CompilerServices;
  8. namespace Dongke.IBOSS.PRD.Framework.Controls
  9. {
  10. [EditorBrowsable(EditorBrowsableState.Never)]
  11. public class U_Editor_express : UITypeEditor
  12. {
  13. public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
  14. {
  15. return UITypeEditorEditStyle.Modal;
  16. }
  17. public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
  18. {
  19. try
  20. {
  21. IWindowsFormsEditorService windowsFormsEditorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
  22. if (windowsFormsEditorService != null && value is string)
  23. {
  24. TextEdit_Express textEdit_Express = new TextEdit_Express();
  25. textEdit_Express.TextBox1.Text = Conversions.ToString(value);
  26. if (windowsFormsEditorService.ShowDialog(textEdit_Express) == DialogResult.OK)
  27. {
  28. return textEdit_Express.TextBox1.Text;
  29. }
  30. return value;
  31. }
  32. }
  33. catch (Exception projectError)
  34. {
  35. ProjectData.SetProjectError(projectError);
  36. Interaction.MsgBox("属性编辑器出错", MsgBoxStyle.OkOnly, "提示信息");
  37. object result = value;
  38. ProjectData.ClearProjectError();
  39. return result;
  40. }
  41. return value;
  42. }
  43. }
  44. }