阿里妈妈,帮你实现网络赚钱梦,流量变成现金!
上一篇: 回家过年
下一篇: 虎年放烟花
ASP.NET 订阅所有ASP.NET的日志
10-02
17

可编辑Listbox改进版

给力技术 - 给您提供最新最全的Web资源     
    上个月做了个可编辑的Listbox,春节放假前又改进了一点,加了一个自定义的事件。此事件是当编辑完成时触发,因为当编辑项时没法在外部获得值,加此事件将值传递出来,这样就可在外部做一些操作(修改数据库)。
    添加的事件是OnEditComplete,具体代码如下:
    
        public sealed class EditCompleteEventArgs : EventArgs
        {
            private int index;
            private string newText;
            public EditCompleteEventArgs(int index, string newText)
            {
                this.index = index;
                this.newText = newText;
            }
            public int Index
            {
                get
                {
                    return index;
                }
            }
            public string NewText
            {
                get
                {
                    return newText;
                }
            }
        }
        protected virtual void OnEditComplete(EditCompleteEventArgs e)
        {
            if (EditComplete != null)
            {
                EditComplete(this, e);
            }
        }

      这里给这个事件设置了两个参数,分别是项的索引值和编辑后的文本,可以根据需要添加不同的参数。这是当编辑完成时触发的事件,所以把它放在textbox的keypress事件里响应,如下:
    
            if (e.KeyChar == 13)
            {
         //省略N代码。。。
                 OnEditComplete(new EditCompleteEventArgs(selectedIndex, newText));
            }

      这个地方可以多加一些判断,可以只让它在项的值被修改后才触发事件。

    考虑到有可能编辑项后数据的长度变化了,所以这时要重新设置水平滚动条的长度。

    所增加的大概就是这些,以前的可参考:http://lwolf.cn/blog/article/code/csharp-editable-listbox.htm

     PS:我的C#交流群 30954402,欢迎加入~~

[本日志由 老狼 于 2010-02-17 04:13 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
文章标签: c# winform 控件
网摘收录:
相关日志:
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 支持Gravatar头像.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.