亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我想在button上畫個圖標,像下面這樣寫為什么不行呢?

我想在button上畫個圖標,像下面這樣寫為什么不行呢?

一只甜甜圈 2022-05-26 15:11:11
Graphics graphics = Graphics.FromHwnd(this.button1.Handle);this.button1.Show();Rectangle newRect = button1.DisplayRectangle;System.Drawing.Icon ico = new Icon(@"D:\Web.ico");graphics.DrawIcon(ico, newRect);graphics.Dispose();button上沒有,form上也沒有,是不是沒有畫出來?
查看完整描述

1 回答

?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

肯定能畫出來,關鍵是你在哪兒繪制的。
一般都是在 Paint/OnPaint 事件里面繪制。
如果你在別的事件里繪制,你得保證繪制之后再也不去觸發它的 Paint 。
比如你現在在 Click 里面畫了,你鼠標移入 Button 會觸發一次 Paint(按鈕變高亮狀態),你之前畫的就被擦掉了;你鼠標點擊一下,又觸發一次 Paint(按鈕變點擊狀態);你鼠標移出,又觸發一次 Paint(按鈕變正常狀態);最小化窗體后又恢復還會觸發 Paint(重繪);獲得焦點、失去焦點會 Paint……等等等等,觸發 Paint 的可能太多了,你要不在 Paint 里繪制,那么每次 Paint 都會把上一次繪制好的給擦掉了。
除非你用一個 Timer 不間斷繪制保證不被刷掉,但這樣對資源耗費太大了。

查看完整回答
反對 回復 2022-05-30
  • 1 回答
  • 0 關注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號