0

所以我是 c# 的新手,这个用户控件在我的脑海里弄得一团糟。

目前正在创建一个用户控件,它应该作为一个进度条,所以我最初认为我可以尝试使用一个面板并在其中放置一个图片框,从而显示它的进度,并且在我的表单中我有一个 2按钮说明下一步和返回。它就像一个进度条,主要在向导中用于检测步骤。考虑我有 15 个步骤,当我按下 Next 按钮时,图片框应该以 (width_of_the_panel/15(no of steps)) 的比例展开。我很困惑我可以写resize_method吗?如果我在 userControl 中提到它,我如何从我的表单中访问它?

private void image_size()
{
    if (pictureBox1.Image.Width < pictureBox1.Width && pictureBox1.Image.Height < pictureBox1.Height)
    {
        pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
    }
    else
    {
        pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
    }
    int wid = panel1.Width / val;
    Image img = new Bitmap(panel1.Width, panel1.Height);
    Graphics gr = Graphics.FromImage(img);
    gr.SmoothingMode = SmoothingMode.HighQuality;
    gr.InterpolationMode = InterpolationMode.HighQualityBicubic;
    gr.PixelOffsetMode = PixelOffsetMode.HighQuality;
    gr.DrawImage(img, 0, 0, wid, panel1.Height);
}
4

1 回答 1

1

您可以使用常规进度条,即 .NET 提供的进度条。使用ProgressBar.MaximumProgressBar.Step属性,以适应您的向导风格。如果您需要自定义,您可以继承自ProgressBar,或创建一个UserControl带有 a的组合ProgressBar。无需重新发明轮子并ProgressBar从头开始创建自己的轮子。

于 2013-05-03T15:51:23.530 回答