我有一个Windows.Forms.Panel用于显示图片列表的应用程序.当面板的高度超过32767像素时,其余内容将被简单地切掉.
例:
Windows.Forms.Panel myPanel;
ArrayList pictureList;
foreach(pic in pictureList) {
    myPanel.Controls.Add(pic) // adds all the objects without complaints
}
在示例中,所有元素都添加到面板而不会引发错误,但在面板达到32767后,不再显示任何图像.
我的问题:是否有可能打破此限制并在面板中显示更多内容?
我知道这种方法无论如何都不方便,但现在没有时间重新设计整个应用程序.
Han*_*ant 11
这是Windows中的架构限制.指示窗口中位置的各种消息,如WM_MOUSEMOVE,以32位整数报告位置,X位为16位,Y位为16位.因此,您无法创建大于short.MaxValue的窗口.这不是一个真正的问题,没有人有一个超过32,767像素的显示器,并且不会很长时间.
你必须以不同的方式做到这一点.就像在Paint方法中使用Graphics.TranslateTransform()一样.
| 归档时间: | 
 | 
| 查看次数: | 5998 次 | 
| 最近记录: |