Re: [問題] 請問如何把元件的背景色用成透明?

看板C_Sharp作者 (Optimist)時間16年前 (2010/02/20 16:05), 編輯推噓8(808)
留言16則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《F23ko (純潔)》之銘言: : 1. : 我希望在picturbox上放label或是textbox : 但是不希望背景色遮住圖片 : 請問要如何把背景色設成透明? : 2. : 以及,有辦法指定picturbox中的某一顏色為透明色嗎?(不要檔到下面的元件) : 我試過用 : 在表單用TransparencyKey的方法 : 但是這會變成整個視窗透明,我可以從程式中的「洞」看見我的桌面 orz.... : 開始動手寫個稍微複雜一點的程式之後 : 才發現自己不會的這麼多.... 關於第一個問題 如果原PO有萬不得已的理由一定要用Windows Form來製作的話 以下有兩個範例可以參考看看 這是我之前爬文找到的 雖然效果不是很滿意 Alpha Blended (Transparent Capable) TextBox and RichTextBox: http://www.codeproject.com/KB/edit/AlphaBlendedTextControls.aspx AlphaBlendTextBox - A transparent/translucent textbox for .NET http://www.codeproject.com/KB/edit/alphablendtextbox.aspx 如果沒有什麼特殊理由一定要用Windows Form來寫 我建議轉戰WPF MSDN Windows Presentation Foundation: http://msdn.microsoft.com/zh-tw/library/ms754130.aspx WPF的元件全部都是使用DirectX 3D繪圖引擎來畫的 WinForm則是使用貧弱的GDI+ 兩者具有根本的差異 關於第二個問題 建議你參考Bitmap.MakeTransparent方法 http://ppt.cc/X!CK -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.86.18.21

02/20 16:56, , 1F
感謝 m(_ _)m
02/20 16:56, 1F

02/21 16:06, , 2F
wpf上的元件沒有Location這個欄位說,那請問要怎麼移動位置?
02/21 16:06, 2F

02/21 16:22, , 3F
MARGIN不給調 orz....
02/21 16:22, 3F

02/21 16:42, , 4F
wpf的觀念好像是把程式撰寫跟表單設計分開.... 我在程式中找
02/21 16:42, 4F

02/21 16:43, , 5F
不到移動元件、調整zorder之類的辦法 orz....
02/21 16:43, 5F

02/21 17:25, , 6F
WPF在一般狀態下是使用相量的方式來計算位置
02/21 17:25, 6F

02/21 18:18, , 7F
請試著熟悉 HorizontalAlignment屬性和
02/21 18:18, 7F

02/21 18:18, , 8F
VerticalContentAlignment的設定與Margin的關係
02/21 18:18, 8F

02/21 18:19, , 9F
如果想使用絕對值來定位 可以使用Canvas控制項
02/21 18:19, 9F
※ 編輯: optimist9266 來自: 58.86.18.21 (02/21 18:23)

02/21 18:36, , 10F
在程式進行中時 label1.Margin.Left += 10; 不給過.... 囧"
02/21 18:36, 10F

02/21 18:38, , 11F
目前c#只看過兩本 一本一直用主控台在教,另一本用form
02/21 18:38, 11F

02/21 18:38, , 12F
兩本在後面都有提一點點WPF,不過我都沒看到他們移動表單上
02/21 18:38, 12F

02/21 18:40, , 13F
的元件.... 或者說,我到現在都沒有系統的學過xaml....
02/21 18:40, 13F

02/21 18:42, , 14F
似乎還得多買本書來讀.... = =|||
02/21 18:42, 14F

02/21 18:49, , 15F
還有,wpf時,屬性下方不會出現說明說.... from才會
02/21 18:49, 15F
WPF其實初步應用不需要學XAML,因為XAML不過就是告知IDE該如何編譯主介面而已, 其實在很多狀況下你是不需要直接碰觸XAML的,屬性的說明方面,MSDN或是Visual C#的 Code頁Ctrl+J就有簡單的說明了,必要時可以搭配Yahoo or Google字典服用。 Margin所紀錄的,是相對於VerticalContentAlignment屬性還有HorizontalAlignment屬 性所設定的距離,我不是很建議你直接修改他,如果是要使用絕對位置設定的話,上面 回文已經說過,可以使用Canvas控制項,如果想修改控制項的Top跟Left屬性,請你參考 MSDN。 Canvas.SetLeft: http://ppt.cc/hzWH Canvas.SetTop: http://ppt.cc/IVYf 以上兩個靜態方法可以修改指定控制項的Canvas.Top和Canvas.Left屬性。 其實粗淺的使用WPF並不困難,我也只靠著MSDN來學習WPF,目前也能製作出一定水準的介 面,且MSDN有想當多WPF的動畫、繪圖範例,建議你可以去下載來參考看看。 ※ 編輯: optimist9266 來自: 58.86.18.21 (02/21 19:43)

02/21 19:49, , 16F
原來是這樣啊.... 了解 感謝 m(_ _)m
02/21 19:49, 16F
文章代碼(AID): #1BVvVHwe (C_Sharp)
文章代碼(AID): #1BVvVHwe (C_Sharp)