自定义窗口控制附件问题

时间:2011-09-21 21:42:27

标签: c# winforms user-controls

让我以Joe Dirt引述前言......“我是新人,我是新人。我不知道该怎么做”

我有一个自定义用户控件,包含2个图片框(一个在另一个上面)和3个标签。顶部图片框具有重复的图像,底部图片具有静态图像。想想进度吧......

______________________________________________
|             PB1      |              PB2    |
|----------------------|---------------------|
|   Label1          Label2       Label3      |
|____________________________________________|

顶栏长度是用户得分的函数,从0到100,在100处,背景栏不再可行,因为顶栏完全填满空间。

我有一个附加到我的主窗体的第二个控件,它将根据需要动态创建并附加许多这些进度条。控件本身没有任何内容,它只是一个空白的用户控件。

int spacer = (Height - (ProgressBar.Controls_Height * progressBarCount)) / (progressBarCount+ 1);

for (int i = 0; i < progressBarCount.Count; i++)
{
   ProgressBar pb = new ProgressBar(progressBarData) { Left = 0 };

   if (i == 0)
   {
       pb.Top = spacer;
   }
   else
   {
       pb.Top = (Controls[i - 1].Bottom + spacer);
   }

   Controls.Add(pb);
   _progressBars.Add(pb);

}

问题是当将其中一个进度条附加到空白用户控件时,它们不会附加到用户控件的左侧,只有背景图片框的图像被剪切,但前景图片框将一直画到最大。

  -> ______________________________________________
  -> |             PB1      |              PB2 |   |
  -> |----------------------|------------------|---|
  -> |   Label1          Label2       Label3   |   
  -> |_________________________________________|

我在两个用户控件的属性窗口中使用了每个设置,结果相似。我在这里有点亏,可以使用一些建议。

1 个答案:

答案 0 :(得分:0)

错误地使用了错误的基本图像。