none
winform窗体panel显示覆盖问题 RRS feed

  • 问题

  • 如图,主界面被一个splitcontainer分割成上下两个部分,上面是用户操作的部分,下面是展示数据的DataGridView。我想实现的效果是用户点击左边的输入文本框,然后弹出一个panel,panel里面是另一个splitcontainer,这个splitcontainer下面是另一个DataGridView用于展示数据库中对应的DataSet的数据,上面的查询是对下面DataGridView的一个实时筛选,用户双击对应的行后直接把对应行的数据返回到txtbox控件里面。但是现在我遇到的问题是panel的location是从txtbox的右下角坐标开始显示,从图片中可以看到这个panel下面有一部分被主界面的splitcontainer.panel2给覆盖了一部分。设置了panel至于顶层 但是没有效果,应该是这个pannel直接是以主界面的splitcontainer.panel1为父容器,所以出现了这样的情况。有没有大佬指导一下该怎么修改?也考虑过直接用form来替代这里panel的功能,有经验的可以提供下思路,谢谢!

    2018年1月11日 7:59

全部回复

  • 在设计的时候,确保这个控件是在另外控件上面就不会覆盖了。


    family as water

    2018年1月11日 11:58
  • Hi,

    欢迎在MSDN论坛发帖。

    如果你把被覆盖的panel设置为当前的焦点呢? 这样也不再最前面吗? 当你设置panel为顶层控件的时候,你有没有使用GetTopLevel() 方法来判断是不是真的在最前面?

    你的图片好像没有贴出来,你可以上传一份可以重现问题的demo 到 one drive上面吗? 这样方便测试,找到解决方案。

    不要保护个人信息在其中

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年1月12日 6:49
    版主