none
如何在form中最小化後開啟時繪圖程序自動重繪 RRS feed

  • 問題

  • 在不選用Form_Paint這個功能時,form在最小化之後再點選開啟,所有繪圖畫面均不見了,有沒有什麼其他方法可以使form最小化之後再點選開啟時讓繪圖程序自動重繪,因為所繪圖較複雜,無法用Form1_Paint來繪制.
    2010年6月26日 上午 09:32

解答

所有回覆

  • FAQ:

    搜尋本版記憶體繪圖:

    http://social.msdn.microsoft.com/Search/zh-TW/?Refinement=112&query=%e8%a8%98%e6%86%b6%e9%ab%94%e7%b9%aa%e5%9c%96


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年6月26日 下午 01:13
  • 您好

    有參考您解答方向去試不過用網站給的程式去試還是出現一些問題

    Public Class Form1
            Private Function Plotdata() As Boolean
            Dim flag As New Bitmap(Me.PictureBox1.Width, Me.PictureBox1.Height)
            Dim g As Graphics = Graphics.FromImage(flag)
            Dim pen1 As Pen
            pen1 = New Pen(Color.Black, 0.5)
            Dim di As Integer, iT1 As Integer, iT2 As Integer
            Dim x1, y1 As Integer
            Dim i As Integer
            If Me.TextBox1.Text <> "" Then
                iT1 = CInt(Me.TextBox1.Text)
            Else
                Exit Function
            End If
            If Me.TextBox2.Text <> "" Then
                iT2 = CInt(Me.TextBox2.Text)
            Else
                Exit Function
            End If
            di = iT1 - iT2
            x1 = 620 / di
            y1 = 27
            For i = 0 To di
                g.DrawLine(pen1, x1 + i * x1, 0, x1 + i * x1, 351)
            Next
            For i = 0 To 12
                g.DrawLine(pen1, 0, 351 - i * 27, 620, 351 - i * 27)
            Next
            Me.PictureBox1.Image = flag
            g.Dispose()
        End Function

      End Class

    出現錯誤訊息,指出第三行 "Bitmap必須要有型別",請問是那裡不對

     

     

    2010年6月27日 上午 02:55
  • 直接將您貼的程式碼COPY到程式中, 編譯和執行都沒有錯誤
    2010年6月27日 上午 03:50
  • 找到方法了,要在Public Class Form1 上方加一行"Imports System.Drawing.Imaging"

    謝謝各位先進的回覆

    2010年6月27日 上午 04:09