现在想给一个TextBox(txb1)添加一个datagridview显示,就是:
当单击txb1的时候,在txb1下显示一个datagridview(dgv1),当点击非txb1(也非dgv1)的任何地方的时候(Form、其他控件等),都将dgv1隐藏。请问怎么处理。谢谢,是不是有现成的事件对应?

解决方案 »

  1.   

    主要就是dgv1的显示或者隐藏问题,dgv1的显示内容或者位置什么的不用管~
      

  2.   

    嗯,请问具体能指导下么,通过什么样的途径我能知道点击发生在txb上还是外呢?谢谢
      

  3.   

    额。这个应该不难。调用textbox的enter事件控制datagridview显示。然后leave事件控制隐藏。
    焦点的控制问题。
      

  4.   

    额。对不起。。
    leave好像必须要定位到别的控件上才可以。。
      

  5.   

    这个自定义控件比较合适,有个在ComboBox下拉出DataGrid的你可以参考看看
      

  6.   

    leave不行,在点击出现的dgv的时候也会触发。坐标的话具体怎么操作呢?使用API么?事件我有点糊涂,请问能不能指导下流程?非常感谢
      

  7.   

    首先把datagridview的visible属性设为false。
    1.在textbox的enter事件中把datagridview 的 visible 属性设为 true;
    2.在text的leave事件中把datagridview 的visible 属性设为false;
    3.在Form的Click事件把datagridview的visible属性设为false,再把textbox的焦点移走;(随便移到什么控件都行);我已经试过,初步能达到你说的要求。
      

  8.   

    10楼正解,或者是直接使用TextChanged事件,进行判断,获取焦点。
      

  9.   

    用FormClick很显然不能满足点击其他控件怎么办?效果就很不理想了,而且不能每个TextBox都这样写,算了重新开一个贴吧,这个结了算了估计也没有人来了。