╃小〥斌╄
二十三年春秋梦,一朝秋雨人初醒。 几曾磨剑图破壁,而今励志待明朝。 莫道红颜无我辈,古来坦途有几人? 英雄何惧前途路,丈夫岂会不腾达!
posts - 291,comments - 632,trackbacks - 8
    最近写一个项目DEMO , 用到了FlexGrid 。  于是做技术调查之余把一些东西总结出来,做个DEMO 。

    主要目的是一个父子关系的结构展示,并可以通过鼠标操作来实现项目之间的移动, 要求为只能选择父项 或者只能选择子项。 于是就出现了跨行选择的问题。并考虑到操作简易性问题,实现了鼠标拖移过程中的行判断。

     主要的设置 :
     
       隐藏 列首和行首  自己构造树表
   this.fg.Cols[0].Visible = false;
      this.fg.Rows[0].Visible = false;
  
      设置选择模式  这样就能实现了像listbox中一样的ctrl shift 操作了。
       fg.SelectionMode = SelectionModeEnum.ListBox;
       
      PS: 原来不知道这样子, 在beforemousedown事件中自己来判断 ctrl shift 来处理了 附下判断方法
       if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift)
                return;
       if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
                return;
             
   设置行合并 , 处理相邻单元格相同的话进行合并
        fg.AllowMerging = C1.Win.C1FlexGrid.AllowMergingEnum.Free;

      接下来是事件

       主要用到了 
      
        DragDrop  // 主要处理逻辑, 行拖动以后的位置和顺序问题

        BeforeMouseDown // 这里主要是纪录下第一次点击时候 是标题行还是子项目行 , 然后再划过事件中就选择屏蔽相应的行。

        DragOver // 这个也很重要,  设置下鼠标拖动后的操作  这里是MOVE 。

       另外还有个事件

       AfterSelChange  // 用来处理鼠标划过时进行行判断。

        目前的效果基本实现了,不过还是有很多不满意的地方, 比如选择多行以后单击被选择的某行 其他行不会被取消选择, 这点其实很暧昧的,因为情况很多, 所以暂时没有实现。  另外操作上 一定要先点击选中 再点下才能拖动, 有时候会觉得不方便。  等有时间再看了。 下面是源码地址。

        程序展示地址 : http://files.cnblogs.com/seagate_cn/DEMOEXE.zip
        程序源码地址 : http://files.cnblogs.com/seagate_cn/flexgrid.zip
posted on 2007-09-26 17:06 ╃小〥斌╄ 阅读(502) 评论(1)  编辑 收藏 所属分类: c#专栏

FeedBack:
2008-04-08 06:24 | 蓝奇高级验证码识别引擎QQ:631753663 [未注册用户]
出售蓝奇高级验证码识别引擎,可准确识别新浪动网淘宝CSDN等多种复杂验证码。

输出为一个标准DLL,可供VB,VC,Delphi,C#.NET,VB.NET,模拟精灵,按键精灵等多平台调用,调用方法简单,几行代码即可完成。独具特色的边缘检测字符分离、旋转倾斜纠正和通用字符匹配算法(无论字体和大小), 使得该引擎对于像新浪、动网、淘宝、CSDN等多种验证码均有不错的识别率,是一款效果较为理想的验证码识别引擎。附详细的调用实例和代码注释等相关技术文档。

官方网站 - http://***/yzm_advocr
识别效果怎么样一试就知道 - DEMO下载 http://***/yzm_advocr/advocr.rar

  回复  引用    

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      


相关链接:

历史上的今天:
2005-09-26 关于在apache下运行asp.net