Winforms UserControl显示具有反转颜色的矩形

时间:2009-04-27 08:32:34

标签: c# .net winforms .net-2.0 c#-2.0

在Winforms应用程序(C#2,FX2.0,VC2008)中,我使用Panel派生的Control来显示自定义控件。控件垂直排列,通常不仅适合面板的可见区域。

我画了一个小小的草图:

Panel http://www.ericschaefer.org/Panel.png

有时(通常在面板内滚动后)矩形区域的颜色会反转(草图中的绿色部分)。这些区域的大小是随机的,但似乎总是位于面板的右边缘。正如您在草图中看到的那样,面板滚动条的箭头按钮也是反转的,但不是倒像和滚动区域。

反色我的意思是黑色变白,白色变黑,蓝变棕色等......

我没有想法。

  • 这可能是我的申请造成的吗?
  • 是否可以绘制滚动条箭头按钮?
  • 有什么想法吗?

编辑:“Screenshot

编辑:我对专家组错了。它过去一直是Panel,但它现在是UserControl。像这样:

public class MyPanel : UserControl
{
    public MyPanel()
    {
        DoubleBuffered = true;
        BorderStyle = BorderStyle.Fixed3D;
        BackColor = Color.DarkBlue;
        VScroll = true;
        HScroll = false;
        AutoScroll = true;
        AutoScrollMargin = new Size( 0, 4 );
    }
}        

3 个答案:

答案 0 :(得分:1)

您使用的是System.Windows.Forms.Panel吗?当你说Panel派生控制时,你的意思是什么?

如果您正在使用System.Windows.Forms.Panel,那么这看起来像是自定义控件而不是面板的问题。

如果可能,您可以提供有关自定义控件的更多信息吗?

答案 1 :(得分:1)

从你的照片中看起来有些东西突出显示,但边框与任何可见的控件都不匹配。

你有一个隐藏在其余部分后面的控件吗?

答案 2 :(得分:0)

<强>解决: 显然这是触摸屏驱动程序的错误。我现在可以重现这种行为。如果您通过触摸屏单击任何滚动条上的“向下滚动”按钮并按住它一段时间,它会在您松开时保持滚动(按钮保持按下状态)。之后,您可以根据需要单击,滚动条左侧将始终显示“反色”。它发生在任何应用程序(explorer.exe!)。现在它变得更好了:通常在Windows中如果拖动滚动条拇指按钮,如果按住鼠标按钮,则可以离开滚动条。但如果你走得太远,按钮会弹回原来的位置(你开始拖动的地方)。试试吧!倒置的颜色矩形与您可以漂移的区域一样宽,没有按钮弹回。我甚至都不想理解这一点。 我们为触摸屏安装了一个更新的驱动程序,即使在您发布“向下滚动”按钮后问题也不会继续滚动,问题就会消失。我的血压恢复正常,但是我觉得所有的白发都可能没变黑了...... 不管怎样,谢谢......