在panel中使用drawstring画一行字,当字的长度大于panel的宽度时。为什么不出现一个滚动条。要如何实现?

解决方案 »

  1.   

    要自动除滚动条,那就放一个Lable,而不是自己画。
    要自己画,就要计算画出来的长度,设置Panel的AutoScrollMargin。
      

  2.   

    Panel有AutoScroll属性,只是Panel不知道应该把滚动条显示出来。
      

  3.   

    如果没有特殊目的的话,还是在Panel里放一个Label,在Label上显示文字。
      

  4.   

    panel属于容器,它能知道的仅仅是它装着的那些控件(比如:label,textbox)和装着它的容器,也就是说他只能识别跟他有父子关系的容器或者控件,其他的一无所知。
    你画出来的字符串,跟那个panel一点关系没有,两者属于同级的,都在windows内。
    如果是把字符串画在picturebox里了,应该能搞出来。
      

  5.   

    现在的问题是我也不是单单的画string,我将string放到一个bitmap中。然后将这个bitmap画到panel中。
      

  6.   

    ---------------------------------------------------------------------
    我用了picturebox也没用滚动条
      

  7.   

    一样的,无论画的字符串还是别的什么,Panel都不会知道,也不会理睬。如果仅仅是字符串,建议放一个Label,字符串设置为Label的Text。
    如果是要画Bitmap,测量好宽度,在Bitmap右边放一个1*1的Label。
      

  8.   

    可以画上去,不过Label同样不会知道Bitmap的存在,不会自动改变它的宽度。
      

  9.   

    Panel 的 AutoScroll 属性值设为 true 即可