實戰 一 c 窗體(1)

2022-09-07 16:03:11 字數 1297 閱讀 4865

近期時間比較充裕,能夠有大把時間泡在實驗室裡,因此想用c#做個專案,便從這裡開始,貼出一些不明白但現在理解了的東西,幫助自己理解,也同時分享出來。

閒話不多說,從窗體開始,設計。

第乙個問題,總覺得win10標題欄沒有win7好看,那麼窗體透明到底如何設計?

現有兩種方法,各有不同。

第一種:在form_load函式裡,使用this.opacity,值可以從0到1不等,比如this.opacity = 0.5,則設定窗體為半透明。

第二種:先設定窗體為乙個幾乎不會使用到的顏色比如大紅色,即this.backcolor = red,然後再設定this.transparencykey = color.red,就可以讓它透明。

第二個問題,乙個好看的窗體,肯定是需要背景的襯托的,但是如果加上背景後,你放個控制項上去試試,控制項的背景色和背景顏色交相輝映,簡直毀三觀,這樣如何處理呢?

遇到這種情況,第一反應就是設定opacity唄,這麼簡單的事,於是我就在lebel1控制項的paint事件裡寫了

this.opacity = 0.5;

當然犯了個很愚蠢的問題,窗體變透明了。於是我又改了,寫成

label1.opacity = 0.5;

這都出語法錯誤了。經過一番嚴肅地思(bai)考(du),我發現了乙個新的方法。opaity對於單個控制項來說是無效的,但是,有另外一種神奇的方法可以解決。

this.label1.backcolor = system.drawing.color.transparent;

設定控制項的背景顏色和父窗體背景相同,從此再也不嫌棄自家控制項醜了。

第三個問題,背景調好了,控制項也不難看了,窗體也能透明化了,但是那個難看的邊框和標題欄還在,這又是個麻煩的問題。

再次經過一陣「思考」,其實這個同樣很簡單。只需一段**

this.formborderstyle = formborderstyle.none

解決掉了邊框和標題欄,一臉懵逼地發現沒有放大縮小關閉窗體的按鈕了,當然這個很容易實現但是,標題欄大概得要自己重新寫乙個了。

想知後事如何,等我搞清楚了再寫。

ps:

startposition的centerparent和centerscreen感覺沒什麼用啊,只開乙個窗體,沒乙個停在螢幕中間的。

自己寫的話,窗體最大化不要,這樣方便控制一點。

模仿金山毒霸的首頁,平時使用感覺效果一般,但是自己模仿起來才發現好高大上,動態效果且不說,單單標題欄的製作,似乎就比較困難了,難道要自己繪製。。。

實戰 二 c 窗體(2)

初入坑,細節上問題不斷。問題一 但是對於button便失效了 解決方案 設定button的backcolor,裡面第乙個值設定為0,即完全透明,button1.backcolor color.fromargb 0,但是這還不夠,需要同時設定其flatstyle屬性為flat或者popup,兩者有不同...

C 窗體控制項更新(一)

c 控制項一覽表 看完就會了,一 窗體 1 常用屬性 1 name屬性 用來獲取或設定窗體的名稱,在應用程式中可通過name屬性來引用窗體。2 windowstate屬性 用來獲取或設定窗體的視窗狀態。取值有三種 normal 窗體正常顯示 minimized 窗體以最小化形式顯示 和 maximi...

C 建模實戰1 高考錄取系統(1)

我一直以為,開發者的能力基本上就可以認為是一次把事情做成的能力。而一次把事情做成至少需要看準需求,選好道路,穩妥實現三個步驟。大致可以認為,看準需求是要求的是對事物系統的把握能力,選道路系統分解的能力,而穩妥實現要求的變成語言,工具,技巧的熟練掌握。相信許多開發者對自己實現功能的能力比較有信心,對系...