2013-05-03 44 views
0

所以我是c#的新手,而這個用戶控件讓我頭腦中一團糟。如何在窗體中單擊按鈕時調整用戶控件中的圖片框的大小?

目前我正在創建一個用戶控件,它應該用作進度條,所以我想最初我可以嘗試使用一個面板並在其中放置一個圖片框,從而顯示其進度,並在我的表單中我有一個2個按鈕說明下一個和後面。它就像一個進度條,主要用於嚮導來檢測步驟。考慮我有15個步驟,當我按Next按鈕時,圖片框應該以(width_of_the_panel/15(沒有步驟))的比例擴展。我很困惑我是否可以編寫resize_method。如果我在userControl中提到它,我如何從我的Form中訪問它?

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); 
} 
+2

WPF?的WinForms? ASP.NET? – 2013-05-03 10:51:20

+1

你有任何代碼顯示你已經嘗試過嗎? – Satal 2013-05-03 11:07:42

+0

在用戶控件上,增加一個增加圖片框大小(寬度?)的進度方法 – Sayse 2013-05-03 11:16:47

回答

1

您可以使用常規進度條,即.NET提供的進度條。使用ProgressBar.MaximumProgressBar.Step屬性,以適應您的嚮導風格。如果您需要自定義,則可以從ProgressBar繼承,或者創建一個組合UserControl,其上帶有ProgressBar。沒有必要重新發明輪子並從頭創建自己的ProgressBar

相關問題