WinForms:控件的最大大小为65535 - 解决方法?

LTR*_*LTR 4 c# winforms

在WinForms和C#,看来我不能创建宽于65535.如果我将它设置为70.000,该值被重置为65535通过Control.Size与ILSpy源挖一个控制,我不能马上找到负责代码用于夹紧尺寸.

那么这是Win32 API还是Windows Forms的限制?有没有办法解决这个问题,例如使用非托管互操作?

我需要如此大的控件的原因是我将非常长的音频文件的音乐波形绘制到它上面.(是的,我可以直接绘制波形,没有包含控件;但这需要大量的重构).我这里不是在谈论绘图代码.显然,只需要绘制可见部分,但事实是我想要一个宽达200.000像素的控件.

Han*_*ant 10

这是一个winapi限制.一个非常难的,用例如WM_MOUSEMOVE消息报告鼠标位置,鼠标位置打包到LPARAM参数中.X位为16位,Y位为16位.

你必须处理它.它不是对例如面板的AutoScrollMinSize属性的限制.无论如何,这是你在这种情况下总是使用的,开始在AutoScrollPosition绘画.