c# 智能提示的实现,我是想在richtextbox里实现和VS一样的智能提示功能,
应该怎么做呢?希望有代码

解决方案 »

  1.   

    http://www.cnblogs.com/birdshover/archive/2007/01/30/635230.html
      

  2.   

    1 richtextbox keypress事件:
    当前行取光标前推到直到遇到空格或行首的一串字符比如abc def(光标) 取得"def"
    2 按 like "def%" 找出带头的所有提示列表 比如
    defa
    defb
    defcde3 生成一listbox 放入刚得到的列表
    4 经过坐标转换,listbox定位到光标的point
    5 listbox.focus() 为当前控件
    6 listboxkeypress事件:
    如果按了上和下 就移动listbox选中行
    如果按了esc 关闭listbox
    如果按了回车或空格就把listbox当前选中行的文字粘贴到richtextbox当前光标后并关闭listbox
    如果是其他键,关闭listbox并利用sendmessage api发送KeyDown(字符)和keyup给richtextbox(或别的更好的传递方法)
    7 如果发生了sendmessage又触发listboxkeypress事件转到6
      

  3.   

    7 如果发生了sendmessage又触发listboxkeypress事件转到1
      

  4.   

    7 如果发生了sendmessage又触发richtextboxkeypress 事件转到1一句话写了3次才写对