可以顯示啊,不能顯示的圖形是坐標超出范圍了,你可以在PicDRAW上查看坐標!
公司主營業務:成都網站建設、網站設計、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯推出漳縣免費做網站回饋大家。
把圖片控件的AutoReDraw設為True可以顯示 Form_Load()
中的圖形,以及以后來窗體刷新時圖形不丟失。
你想的以及接近了,要達到你要的效果,需要使用多線程,寫入數據庫和顯示繪圖的結果各一個線程
當窗體被隱藏之后,在窗體重新出現時,系統將觸發Paint事件,重繪整個窗體,此時如果Paint方法為空,那么您使用graphic對象繪制的圖將全部消失。
要使您繪制的圖能始終出現,您就必須在Paint事件觸發時,在其方法中添加繪制窗體的代碼。由于您的圖是任意的,所以您可以通過使用一個全局的數組或數據結構存儲在Form上的圖像信息,然后在Form_Paint方法中讀取圖像信息并重繪。如果Form上繪制了新的圖像,那么您可以將這個圖像信息添加到全局的數組或數據結構中,以保證在Form上始終是正確的圖像。
另外:
VB.NET2008中的AutoRedraw問題
.NET 2009-05-04 15:55:22 閱讀44 評論0 字號:大中小
VB6中的PictureBox控件的有AutoRedraw屬性,設置為True,則窗口最小化或被覆蓋后重新打開窗口,原來的圖形還在(使用Line等函數畫的圖形),但VB.NET沒有了這個屬性,為此煩了好久,MSDN上也沒有找到明確的代用方法,上星期去書店翻了翻,終于明白怎么會事.
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Bmp As Bitmap
Dim Gra As Graphics
Dim Pen As New Pen(Color.White)
Bmp = New Bitmap(PictureBox1.Width, PictureBox1.Height)
Gra = Graphics.FromImage(Bmp)
Dim Dia As Single = Math.Min(PictureBox1.Height, PictureBox1.Width) * 0.5!
Gra.DrawArc(Pen, (PictureBox1.Width - Dia) / 2.0!, (PictureBox1.Height - Dia) / 2.0!, Dia, Dia, 0, 360)
Gra.DrawLine(Pen, 0, 0, PictureBox1.Width / 2.0!, PictureBox1.Height / 2.0!)
PictureBox1.Image = Bmp
End Sub
上面代碼畫的圖形在最小化后重新打開圖形還在,下面的則沒有了.
Private Sub PictureBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.DoubleClick
Dim Gra As Graphics = PictureBox1.CreateGraphics()
Dim Pen As New Pen(Color.Magenta)
Dim Dia As Single = Math.Min(PictureBox1.Height, PictureBox1.Width) * 0.5!
Gra.DrawRectangle(Pen, (PictureBox1.Width - Dia) / 2.0!, (PictureBox1.Height - Dia) / 2.0!, Dia, Dia)
End Sub
希望對你有幫助!
不用PictureBoxTest.Image屬性,直接把圖形繪制到PictureBoxTest上面就可以了。
Dim?button?As?Integer?=?0
Private?Sub?Button1_Click(ByVal?sender?As?Object,?ByVal?e?As?EventArgs)?_
Handles?Button1.Click
Using?g?As?Graphics?=?Graphics.FromHwnd(PictureBoxTest.Handle)
Dim?penRed?As?Pen?=?New?Pen(Color.Red,?1)?????'定義紅色畫筆??
Dim?penblue?As?Pen?=?New?Pen(Color.Blue,?1)?'定義藍色畫筆?
If?button?=?0?Then
g.DrawLine(penRed,?0,?0,?100,?100)
button?=?1
ElseIf?button?=?1?Then
g.DrawLine(penblue,?100,?100,?200,?200)
button?=?0
End?If
End?Using
End?Sub
只有windows 7等以上版本的操作系統才可以自動消失。其他windows NT內核版本,例如:windows 2003,windows xp,windows 2000等老版本,要讓圖標托盤消失,必須至少要兩種方法:
1:退出程序時,在代碼里調用刪除托盤圖標的代碼。
2:程序崩潰時或者是手動結束進程后,圖標遺留在右下角,只能用鼠標移動到上面,它才會消失。
所以,必須要在代碼里面寫上退出托盤的程序,因為很多人當然也包括我自己,有時候編寫代碼,只編寫了啟動托盤的代碼,沒有寫退出托盤的代碼,以為程序退出了,托盤圖標會自己消失。而事實上不是這樣的,托盤的啟動和退出,必須要自己來顯式的在程序里面實現。啟動托盤實現后,必須要實現退出托盤。
所以建議大家在編寫托盤圖標程序時,在退出程序的時候,顯式的調用刪除托盤圖標的代碼就可以了。
標題名稱:vbnet繪圖消失的簡單介紹
文章鏈接:http://m.kartarina.com/article34/heigpe.html
成都網站建設公司_創新互聯,為您提供動態網站、網站營銷、品牌網站設計、自適應網站、網站收錄、網站排名
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯