找回密码
 立即注册

QQ登录

只需一步,快速开始

superauu

新手上路

1

主题

3

帖子

38

积分

新手上路

积分
38
  • 35

    金币

  • 主题

  • 帖子

最新发帖
superauu
新手上路   /  发表于:2014-8-8 09:12  /   查看:4921  /  回复:4
自定义控件可以装入cell中,双击也可以激活.
问题是:
用户有时候不希望通过鼠标双击激活控件,而是希望通过键盘.当焦点转移到包含控件的cell上时,应该自动激活该cell上的控件.不知道应该怎么处理呢?   

public void ControlPaint(Graphics g, Rectangle r, Appearance appearance, object value, bool isSelected,
    bool isLocked,
    float zoomFactor)
        {
            Region rgn = g.Clip;

            g.SetClip(r, CombineMode.Intersect);
            g.FillRectangle(new SolidBrush(BackColor), r);
            g.DrawString(Text, Font, new SolidBrush(ForeColor), r.X, r.Y);
            g.SetClip(rgn, CombineMode.Replace);
        }


        public Moving CanMove { get; set; }
        public Sizing CanSize { get; set; }

        private ChildActivationPolicy activation = ChildActivationPolicy.DoubleClick;
        public ChildActivationPolicy ActivationPolicy
        {
            get { return activation; }
            set { }
        }

4 个回复

倒序浏览
superauu
新手上路   /  发表于:2014-8-8 16:03:00
沙发
在找解决办法的时候发现了另一个问题,就是当自定义控件被激活时(双击之后),然后用键盘的上下左右键可以移动控件的位置,而且移动的位置很随即,不一定跑到哪里去了,请看附件.
这个问题该如何设置才能解决呢?
QQ截图20140808160039.png
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-8 17:55:00
板凳
回复 2楼superauu的帖子

可以通过链接中方式添加:

  1. [url]http://blog.gcpowertools.com.cn/post/2013/04/17/%E3%80%90Spread%E3%80%91%E9%80%9A%E8%BF%87-Editor-%E5%AE%9E%E7%8E%B0%E5%A4%9A%E7%A7%8D%E6%95%B0%E6%8D%AE%E8%BE%93%E5%85%A5%E6%96%B9%E5%BC%8F.aspx[/url]
复制代码
回复 使用道具 举报
superauu
新手上路   /  发表于:2014-8-8 18:22:00
地板
我在英文官网论坛也找了很久,也基本没有自定义Child Control方面的内容,基本都是让用CellType这种方法,是不是自定义控件的方式暂时还是不可用的?

因为我想加入表格的控件是一个已经开发好的控件,功能比较复杂,用您给的方法需要把所有功能重新开发,甚至有些功能可能都没法实现.我提的问题有没有能够直接解决的办法,而不是用这种walkaround的方式?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-11 18:03:00
5#
回复 4楼superauu的帖子

你好,
能否请你把2#中的截图 Demo 发上来我们查看下,
“然后用键盘的上下左右键可以移动控件的位置,而且移动的位置很随即,不一定跑到哪里去了”,指的是移动了 自定义控件的位置吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部