【问题标题】:Custom windows control attachment issue自定义窗口控件附件问题
【发布时间】:2011-09-21 21:42:27
【问题描述】:

让我以 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   |   
  -> |_________________________________________|

我已经在两个用户控件的属性窗口中进行了所有设置,结果相似。我在这里有点茫然,可以提出一些建议。

【问题讨论】:

  • 你真的在使用Windows.Forms.ProgressBar这个类吗???
  • 不只是由列出的元素组成的自定义控件
  • 好吧,设置 Size 和 Location 属性。
  • 我在属性窗口中设置了大小,在上面的代码中设置了位置。

标签: c# winforms user-controls


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    相关资源
    最近更新 更多