找回密码
 立即注册

QQ登录

只需一步,快速开始

dbtxwds

高级会员

10

主题

27

帖子

1147

积分

高级会员

积分
1147

活字格认证

[已处理] UIComboBox的事件

dbtxwds
高级会员   /  发表于:2013-8-14 14:23  /   查看:6057  /  回复:3
请问UIComboBox有没有类似于VS自带ComboBox的SelectionChangeCommitted事件?我现在用的是SelectedIndexChanged事件,但是我想要做到的是每次从下拉列表中选择项都会触发,而不是SelectedIndex改变了才会触发。

3 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-8-14 15:36:00
沙发
回复 1楼dbtxwds的帖子

请问 UIComboBox 指的是 ComboboxCellType 单元格类型吗?

这个功能目前无法做到。
回复 使用道具 举报
dbtxwds
高级会员   /  发表于:2013-8-14 17:36:00
板凳
好的,我知道了。单元格的第一列是CheckBox类型,怎么样判断哪些行的第一列被选中了,必须循环SheetView.Rows来判断吗?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-8-14 18:28:00
地板
回复 3楼dbtxwds的帖子

是的,目前的做法是这样的。

不过,可以维护一个列表来解决这个问题,可以抓取 Checkbox 点击事件。


  1. public partial class Form1 : Form
  2.     {
  3.         public Form1()
  4.         {
  5.             InitializeComponent();
  6.         }

  7.         private void Form1_Load(object sender, EventArgs e)
  8.         {
  9.             FarPoint.Win.Spread.CellType.CheckBoxCellType ck = new FarPoint.Win.Spread.CellType.CheckBoxCellType();
  10.             this.fpSpread1.Sheets[0].Columns[0].CellType = ck;
  11.             ck.EditorValueChanged += new EventHandler(ck_EditorValueChanged);
  12.         }

  13.         List<CheckRoom> checkRooms = new List<CheckRoom>();
  14.         void ck_EditorValueChanged(object sender, EventArgs e)
  15.         {

  16.         }
  17.     }

  18.     class CheckRoom
  19.         {
  20.                 int rowindex;
  21.         string roomname;

  22.         public CheckRoom(int r,string n)
  23.         {
  24.             rowindex = r;
  25.             roomname = n;
  26.         }
  27.         }
复制代码


至于性能上的影响。不知道你的 Spread 有多少行?
通过遍历对性能的影响肯定是有, 但 winform 平台应用的性能还是比较优越的,应该问题不大。
当然具体还得以您那边测试结果为准。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部