六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

Dotnet WinForm 創建 FAQ1(轉貼)(編程技巧)

[摘要]來自程序員大本營dotnet版Dotnet WinForm 建立 FAQ小氣的神如何建立你的第一個窗體,希望下面的說明可以成為你快速開始的一個指引.1. 如何設置一個From的邊界2. 如何建立一個透明的From3. 如何設置窗體在屏幕中的位置4. 如何使最小化和最大化按鈕不可用5. 如何使一個窗...
來自程序員大本營dotnet版

Dotnet WinForm 建立 FAQ

小氣的神

如何建立你的第一個窗體,希望下面的說明可以成為你快速開始的一個指引.

1. 如何設置一個From的邊界
2. 如何建立一個透明的From
3. 如何設置窗體在屏幕中的位置
4. 如何使最小化和最大化按鈕不可用
5. 如何使一個窗體不見
6. 如何設置使窗體成為非矩形的.
7. 如何使一個窗體在屏幕的最頂端.
8. 如何顯示一個Model和非Model的窗體
9. 如何制作一個MDI的窗體
10.如何將你的窗體不顯示在任務條上.
11.如何制作一個帶啟動屏幕的窗體.
12.如何使你的窗體TrayIcon.
13.如何修改控制窗體的尺寸和長寬尺寸.
14.如何建立一個Windows Explorer風格的窗體.
15.如何設置初始的啟動窗體
16.如何建立一個有背景圖像的窗體


 

1. 如何設置一個From的邊界
Form總共有七種不同的邊界風格讓你設置,你可以在設計時刻也可以運行時通過代碼動態的來設置它.這七種邊界風格分別是:
None (System.Windows.Forms.FormBorderStyle.None )
Fixed 3D (System.Windows.Forms.FormBorderStyle.Fixed3D)
Fixed Dialog (System.Windows.Forms.FormBorderStyle.FixedDialog)
Fixed Single(System.Windows.Forms.FormBorderStyle.FixedSingle)
Fixed Tool Window(System.Windows.Forms.FormBorderStyle.FixedToolWindow)
Sizable(System.Windows.Forms.FormBorderStyle.Sizable)
SizableTool Window
(System.Windows.Forms.FormBorderStyle.SizableToolWindow)
在設計方式下在VS.NET IDE的 Properties window中設置FormBorderStyle屬性就可以了.
在運行方式下你可以用代碼來完成:
DlgBx1.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog

這七種邊界類型VB6中就有,沒有什么大的變化,運行方式下你需要對照不同的枚舉變量進行設置.

2. 如何建立一個透明的From
你可以通過兩種方法在設計時刻和運行時刻來做到這一點.
設計時刻,你可以在VS.NET IDE的 Properties window, 設置Opacity 屬性達到這個效果.這個值從0.0到1.0 . 0表示完全透明,1.0表示完全不透明.
運行時刻你可以用下面的編碼設置窗體的Opactiy屬性來做到.具體:
frmTransparentForm.Opacity = 0.76; ( C# )
看得出現在很簡單了,你已經不用再去了解什么Alpha變量了.透明始終只是一種效果,不要濫用它.

3. 如何設置窗體在屏幕中的位置
你可以設置窗體的StartPosition屬性,VS.NET一般給你一個保守的選項” WindowsDefaultLocation“ 這樣系統在Load窗體時將根據用戶當前的計算機設置來確定一個值,你也可以在設計時將它改成另一個值”Center”.
如果你一定要在設計方式下確定窗體在屏幕出現的位置你可以先設置StartPosition為Manual,然后設置Location的X和Y的值.
運行時用代碼實現似乎更簡潔一些:
Form1.Location = new Point (100, 100) ( VB.NET ) 

當然你也可以分別修改的Location的X和Y值,對應的是窗體的Left和Top屬性,比如:
Form1.Left += 200 ( VB.NET )
Form1.Top -= 100 ( VB.NET )
另外一個屬性將也將影響窗體在屏幕的位置:DesktopLocation 這個屬性主要是在你設置窗體的位置相對于任務欄時非常實用(當你把任務條放在屏幕的頂或左邊時,其實相應改動了desktop coordinates (0,0)),你可以這樣設置這個不出現在設計屬性窗口中的屬性,
Form1.DesktopLocation = new Point (100,100)
窗體在屏幕中的位置將主要取決于各自用戶具體的硬件和設置情況,所以保守的作法是用默認的” WindowsDefaultLocation”或 ”Center”;專業的作法是自己先獲取系統的設置然后編碼動態計算后進行設置,不然很容易在屏幕上找不到你的窗體.

4. 如何使最小化和最大化按鈕不可用
在設置窗體的Form.MinimizeBox和Form.MaximizeBox 當為True時表示顯示,False時表示不可.用編程方式見下:
frmMaxMin.MinnimizeBox = False ( VB.NET)
frmMaxMin.MaxmnimizeBox = True( VB.NET )

5. 如何使一個窗體不見
我想最直接的辦法是你調用 Hide()方法來做到這一點.不過我想提供另一種方法,看了之后你會獲得一些其它的啟發. ( VB.NET )
Private Const WS_EX_TOOLWINDOW As Int32 = &H80
Private Const WS_POPUP As Int32 = &H80000000
Private Const WS_VISIBLE As Int32 = &H10000000
Private Const WS_SYSMENU As Int32 = &H80000
Private Const WS_MAXIMIZEBOX As Int32 = &H10000

Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
Get
Dim cp As System.Windows.Forms.CreateParams
cp = MyBase.CreateParams
cp.ExStyle = WS_EX_TOOLWINDOW
cp.Style = WS_POPUP Or WS_VISIBLE Or WS_SYSMENU Or WS_MAXIMIZEBOX
cp.Height = 0
cp.Width = 0
Return cp
End Get
End Property
原來是把Height 和Width都設置成0 ,我想這種方式和Hide()調用的底層可能是不同的。

6. 如何設置使窗體成為非矩形的.
這個問題我想我提供的不是最專業的作法,至少它還不能達到我期望的那樣,也就是說它在某些事件中它還會變回矩形.但至少我可以告訴你:如果試圖調用原來的Win32’s API SetWindowRng是不行的,我曾如此的嘗試過.現在你可能需要知道有關窗體的Region屬性
 ' // ( VB.NET )
Public Sub SetWindowRegion()

Dim FormPath As System.Drawing.Drawing2D.GraphicsPath
Dim Reg As Drawing.Region
Dim lRet As Long

FormPath = New Drawing2D.GraphicsPath()
FormPath.AddEllipse(New Rectangle(0, 0, 250, 120))

Me.Region = New Region(FormPath)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Region = Nothing
SetWindowRegion()
End Sub

Protected Overrides Sub OnResize(ByVal e As System.EventArgs)
Me.Region = Nothing
SetWindowRegion()
End Sub

7. 如何使一個窗體在屏幕的最頂端.
這是很實用的一個功能,現在你不用在調用其它API了,只用設置TopMost 屬性為True就可以了.對于這個屬性在設計時刻和運行時刻都是可以進行修改的.代碼方式:
 myTopForm.TopMost = True ( VB.NET) 


8. 如何顯示一個Model和非Model的窗體
Model和Modeless的窗體主要將取決于你的應用,最多的是用在顯示對話框.當你需要Model的窗體時你調用MyForm. ShowDialog而非Model的調用MyForm.Show,對于ShowDialog有一個可選參數ower可以讓你為一個窗體建立父子關系.比如:
' Visual Basic
Private Sub mnuAbout_Click(…args…)
 Dim f As New FormOption
 f.ShowDialog Me
End Sub

有一點需要注意的是對于ShowDialog來說,當執行到這一句,窗體顯示,但這之后的代碼將不會執行,只到窗口關閉之后才繼續執行,而對于Show來說是即時的,顯示窗體之后將立即執行下面的代碼.



主站蜘蛛池模板: 青青草免费在线观看 | 在线观看亚洲免费视频 | 中日韩欧美在线观看 | 午夜影视免费完整高清在线观看网站 | 日韩国产在线 | 欧美午夜不卡在线观看最新 | 青青碰| 色夜视频| 欧美视频三级 | 视频在线色 | 亚洲综合图区 | 欧美丝袜办公室精品 | 午夜合集| 天天躁夜夜躁狠狠躁2021a | 日本一区中文字幕 | 亚洲 中文 欧美 日韩 在线 | 青娱极品盛宴国产一区 | 综合自拍 | 日本福利网址 | 午夜色a大片在线观看免费 午夜骚片 | 亚洲国产图片 | 日韩精品一区二区三区不卡 | 一二三四在线观看日本 | 日本高清视频色 | 桃色成人精品网站 | 亚洲国产高清精品线久久 | 伊在线视频 | 午夜一级视频 | 欧美性猛交xxxx乱大交蜜桃 | 天堂网最新 | 婷婷综合缴情亚洲五月伊 | 午夜视频在线观看免费高清 | 亚洲精品色婷婷在线影院麻豆 | 日韩a在线 | 四虎永久在线免费观看 | 日韩免费在线观看视频 | 色婷婷久久综合中文久久蜜桃 | 亚洲天堂影视 | 四虎海外在线永久免费看 | 天天躁夜夜躁狂狂躁综合 | 视频一区二区不卡 |