none
Paint事件可否控制觸發行為 RRS feed

  • 問題

  •  

    C#2005

    小弟有兩個form  f1,f2

    f1_button_click執行

     picL[count - 1].Paint += new PaintEventHandler(pictureBox_Paint);   //picL是pictureBox集合

     f2.show();

     

    public void pictureBox_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
            {
                Graphics g = e.Graphics;          
                g.DrawString(mystring[count - 1].ToString(), new Font("Arial", 18), Brushes.Red, f2.pictureBox1.Location.X,  f2.pictureBox1.Location.Y);
            }

     

    這時f2 顯示出來都正確(每個pictureBox都有自己相關文字)

    但小弟只要把f2給縮小再放大(或拖拉F1範圍蓋到F2)  之前的pictureBox文字則全部重繪??

    (原本pic1>文字1  pic2>文字2  pic3>文字3   這時把f2給縮小再放大(或拖拉F1)  結果變成  pic1>文字3  pic2>文字3  pic3>文字3......)

    小弟寫在paint事件而且依序指向個別的pictureBox不懂為啥都refresh??

    請問那裏還有條件可以控制呢??還是小弟的方向根本錯了

    感謝感謝

     

    2009年1月4日 下午 11:47

解答

  • HI,

    讓多個物件共用一個事件處理程序, 可以利用事件處理程序的第一個參數sender, 判斷是那一個物件引發事件

    tihs
    2009年1月5日 上午 01:01

所有回覆

  • HI,

    讓多個物件共用一個事件處理程序, 可以利用事件處理程序的第一個參數sender, 判斷是那一個物件引發事件

    tihs
    2009年1月5日 上午 01:01
  • tihs大大

     

    我用另一種方法來處理了

    我存成jpg 再用picturebox去載入

    這樣就不會被刷掉了

     

    還是很感謝大大

    感謝感謝^^

    2009年1月5日 上午 03:40