0

したがって、私はc#を初めて使用し、このユーザーコントロールが頭の中を混乱させています。

現在、プログレスバーとして機能するユーザーコントロールの作成に取り組んでいるので、最初はパネルを使用して画像ボックスを配置し、その進行状況を表示できると考えていました.フォームには2があります次と戻るを示すボタン。ステップを検出するためにウィザードで主に使用される進行状況バーのようなものです。15 のステップがあり、[次へ] ボタンを押すと、画像ボックスは (width_of_the_panel/15(ステップ数)) の比率で拡大するはずです。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.MaximumおよびProgressBar.Stepプロパティを使用します。カスタマイズが必要な場合は、 から継承するProgressBarか、 を含むコンポジットUserControlを作成できますProgressBar。車輪を再発明して、ProgressBarゼロから独自のものを作成する必要はありません。

于 2013-05-03T15:51:23.530 に答える