gpt4 book ai didi

c# - 为什么我不应该使用 PictureBox 控件?

转载 作者:太空狗 更新时间:2023-10-29 21:39:39 24 4
gpt4 key购买 nike

In his answer Rick Brewster 表示,“PictureBox 经常被误解。”和“您可能永远不想使用它。”

很遗憾,他没有解释PictureBox 有什么问题。我用它来显示和操作图像,它有点慢,但如果它不用于显示图片,它还有什么意义呢?

最佳答案

这是一个方便的控件,对于点击式 UI 设计很有用。但可以肯定的是,这是非常浪费的。尽管它与 Label 控件相比没有任何优势。您正在燃烧整个 Windows 窗口,只是为了绘制图像。 native 窗口对象是非常昂贵的系统资源。替代方法是在您的 OnPaint() 方法 e.Graphics.DrawImage() 中添加一行代码。

正如 Rick 指出的那样,它也不是一个非常智能的控件。每次需要绘制自身时,它都会重新缩放图像以适合控件。而且它也没有优化图像的像素格式,迫使 GDI+ 每次都进行像素转换。最终效果肯定是一个缓慢的用户界面,让图像绘制速度比必要的速度慢 100 倍当然并不罕见。否则,在通用控件中难以做出的那种权衡;这种优化不是免费的,可能会使内存需求翻倍。

相比之下,像 Outlook 这样的 Microsoft Office 程序使用大约 50 个窗口,其中大部分是工具栏。这就是您在不到 10 分钟的时间内在 Winforms 中拼凑起来的东西。便利是有代价的。一个Office程序也是如此,它需要大量的程序员。

关于c# - 为什么我不应该使用 PictureBox 控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19863316/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com