ivr流程编辑器

CtlDefaultListVar.cs 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using HySoft.IVRFlowEditor.IVRControlUtility;
  10. namespace HySoft.IVRFlowEditor.IVRControl
  11. {
  12. public partial class CtlDefaultListVar : UserControl
  13. {
  14. List<string> Vals;
  15. public CtlDefaultListVar()
  16. {
  17. InitializeComponent();
  18. }
  19. /// <summary>
  20. /// 清空控件
  21. /// </summary>
  22. public void Clear()
  23. {
  24. this.panel2.Controls.Clear();
  25. }
  26. /// <summary>
  27. /// 设置要绑定的控件变量名集合
  28. /// </summary>
  29. /// <param name="vals"></param>
  30. public void SetData(List<string> vals)
  31. {
  32. Vals = vals;
  33. //this.panel2.Controls.Clear();
  34. int j = 0;
  35. if (Vals != null)
  36. foreach (string val in Vals)
  37. {
  38. CtlDefaultVar ctl = new CtlDefaultVar(val);
  39. ctl.Width = this.panel2.Width;
  40. ctl.Height = 30;
  41. ctl.Location = new Point(0, 30 * j);// (this.panel2.Controls.Count));//2017-5-9
  42. this.panel2.Controls.Add(ctl);
  43. j++;
  44. }
  45. }
  46. /// <summary>
  47. /// 添加一个变量
  48. /// </summary>
  49. /// <param name="sender"></param>
  50. /// <param name="e"></param>
  51. private void btn_add_Click(object sender, EventArgs e)
  52. {
  53. CtlDefaultVar ctl = new CtlDefaultVar("");
  54. ctl.Width = this.panel1.Width;
  55. ctl.Height = 30;
  56. ctl.Location = new Point(0, 30 * (this.panel2.Controls.Count));
  57. this.panel2.Controls.Add(ctl);
  58. }
  59. /// <summary>
  60. /// 获取所有罗列出的变量
  61. /// </summary>
  62. /// <returns></returns>
  63. public List<IVRDefaultVar> GetListVar()
  64. {
  65. List<IVRDefaultVar> vars = new List<IVRDefaultVar>();
  66. foreach (Control con in this.panel2.Controls)
  67. {
  68. if (con.GetType() == typeof(CtlDefaultVar))
  69. {
  70. vars.Add(new IVRDefaultVar() { Var = (con as CtlDefaultVar).ComboBoxText });
  71. }
  72. }
  73. return vars;
  74. }
  75. /// <summary>
  76. /// 删除最后一个变量
  77. /// </summary>
  78. /// <param name="sender"></param>
  79. /// <param name="e"></param>
  80. private void btn_delete_Click(object sender, EventArgs e)
  81. {
  82. if (this.panel2.Controls.Count > 0)
  83. {
  84. this.panel2.Controls.Remove(this.panel2.Controls[this.panel2.Controls.Count - 1]);
  85. }
  86. }
  87. }
  88. }