用Graphics画图后 被控件挡住了,怎么显示到最上层?
只知道其他控件有BringToFront这个方法,那Graphics要怎么办
谢谢

解决方案 »

  1.   

    如果你在form的Graphics上画的,你是放不到其他组件前面的,你组好在一个panel上画,panel可以放到组件前面
      

  2.   

    使用label一类的非窗体控件。lz要明白这样一个基本原理。Graphic对应的是窗体的DC(可以理解为窗体的画布,这里的窗体除了Form以外,还包括所有窗体控件,比如Button、PictureBox、Panel,但是不包括Label)。如果你把窗体想象成一个个的盘子,你就明白了。你可以把大盘子放在下面,那么大盘子上的花纹不可能跑小盘子前面。反过来,把大盘子整体搬到小盘子前面,小盘子看不见了。其实按钮、文本框这些并非一定要使用控件,照样可以绘制上去模拟(从Windows的角度看,其实所有的窗口都是画出来的)。
      

  3.   

    谢谢2位的回答,
    我现在需要模拟某个控件的拖动,绘制个rectangle来跟着鼠标移动,所以也需要透明的
    之前做过silverlight的 做这个很简单,现在一头雾水 
    panel可以设成透明的吗,背景颜色ARGB 设成透明好像只是跟随父控件的颜色 
    可以说下具体应该怎么做吗 谢谢