作者unfinish (笑吟吟的淫淫笑)
看板C_Sharp
標題[問題] pictureBox設透明後button不能用
時間Sat Sep 28 16:28:01 2019
最近剛開始自學C#
想寫一個擷取畫面小程式做練習
不過第一步就卡死了
應該不是程式寫錯
因為我根本還沒加入程式碼
程式只有三個控制項
Form1、pictureBox1、button1
只有簡單做了三個動作
一、From1的屬性 TransparencyKey 設為 Green
二、pictureBox1的屬性 BackColor 設為 Green
三、為了確認button1有沒有被按 button1_Click加入了下面這行
MessageBox.Show("button1 has been pressed");
執行之後 如下圖
https://imgur.com/dlM9dkM
蝴蝶是桌面 可以看到pictureBox1變透明了
可是button1卻沒辦法點選
只要把TransparencyKey跟BackColor調回預設值或把兩個顏色錯開
pictureBox就不再透明 button也恢復正常了
本來的用意是要按button來擷取pictureBox裡面的畫面
是用錯控制項了嗎 還是有其他問題
希望版上的神人能幫忙指點
謝謝大家
補充一下版本資訊
Microsoft Visual Studio 2017
.Net Framework 4.6.1
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.138.50.154 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1569659284.A.D51.html
※ 編輯: unfinish (220.138.50.154 臺灣), 09/28/2019 16:30:29
→ testPtt: winform對透明的支援不好 要寫成直接抓圖再顯示 09/28 18:31
pictureBox是用來限制擷圖大小及範圍用的
也就是說我固定只抓pictureBox那一塊區域而已
因此才會把pictureBox弄成透明
請問這有辦法達成嗎
※ 編輯: unfinish (220.138.50.154 臺灣), 09/28/2019 19:31:26
→ testPtt: 我想背景抓圖免不了要winapi 09/28 21:36
→ kobe8112: 我以前寫的簡易版做法是用半透明WinForm覆蓋每一個螢幕 09/29 18:27
→ kobe8112: 偵測鍵鼠事件繪製使用者選取的範圍及截圖 09/29 18:27
→ kobe8112: 這樣的話是不需用到windows api 09/29 18:28
→ disabledman: 我2019 com 版正常 10/04 13:25