vb.net自繪窗體 vb窗體設計窗口

VB.net 如何畫窗體??

繪制和數(shù)據(jù)分離,就是說,Paint 事件永遠是用來繪制的,具體繪制什么東西(也就是繪制的數(shù)據(jù),如半徑為4的圓),有數(shù)據(jù)決定,MouseClick 可以更改一些參數(shù),然后由Paint 繪制:

成都創(chuàng)新互聯(lián)公司專注于通化縣網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供通化縣營銷型網(wǎng)站建設,通化縣網(wǎng)站制作、通化縣網(wǎng)頁設計、通化縣網(wǎng)站官網(wǎng)定制、成都微信小程序服務,打造通化縣網(wǎng)絡公司原創(chuàng)品牌,更為您提供通化縣網(wǎng)站排名全網(wǎng)營銷落地服務。

MouseClick 事件里,重繪窗體,即:

int r = 0, x = 0, y = 0;

private void Form1_MouseClick(object sender, MouseEventArgs e)

{

r = 10;

x = e.X;

y = e.Y;

this.Invalidate();

}

private void Form1_Paint(object sender, PaintEventArgs e)

{

// 繪制一個r半徑圓

e.Graphics.DrawEllipse(new Pen(Color.Red), x, y, r, r);

}

補充:

在 MouseClick 事件中去調用Form 的 Paint 事件,那么參數(shù)要如何傳遞?

參數(shù)是個全局變量,類似上面的r、x、y等,不是由e傳過去的,

上述代碼是c#的,vb.net和c#一樣,都是用的fcl類庫,你改一下就可以了,

用VB.NET輕松制作特效窗體

體是Windows應用程序的基礎 新一代的開發(fā)工具Visual Basic Net為設計制作窗體提供了更多簡單而豐富的方法 無需再求助于復雜而易錯的API函數(shù) 我們就可以輕松制作多種特效窗體 輕松制作透明窗體VB NET可以輕松制作出任一透明度的窗體 我們只要在窗體的 屬性 窗口中 將 Opacity 屬性設置為一個介于 (完全透明)與 (完全不透明)之間的值就可以了 Dim frm As FrmTrans = New FrmTrans()frm Opacity = frm ShowDialog() 輕松制作始終位于最上層的窗體在VB 中 要制作一個始終位于最上層的窗體我們只能求助于令人頭痛的API函數(shù) 然而在 NET 中 我們只要簡單設置窗體的 TopMost 屬性就可實現(xiàn)同樣效果了!例如 Dim frm As frmTopMost = New frmTopMost()frm TopMost = Truefrm Show() 輕松制作不可見的窗體如果要編寫一個不讓別人發(fā)現(xiàn)的隱藏程序 制作不可見的窗體就是必須實現(xiàn)的第一步 窗體的可見性通常由 Visible 屬性控制 但是 如果希望 Windows 應用程序的主窗體在應用程序啟動時不可見 您將會發(fā)現(xiàn)將它的 Visible 屬性設置為 False 的方法無效 窗體總會自己顯示出來(這是因為 啟動窗體的生存期決定了應用程序的生存期) 雖然如此 我們還是可以通過簡單將應用程序的啟動設置為一個模塊 從而從窗體的生存期分出應用程序的生存期 輕松實現(xiàn)不可見的窗體 在下面這個例子中 窗體在特定的時間內自動隱藏 ( )在 Visual Basic 中 右擊項目并選擇 添加模塊 以將模塊添加到 Windows 應用程序 ( )在已添加的模塊(或類)內 創(chuàng)建可作為項目啟動對象的 Main 函數(shù) Sub main()Dim f As New Form ()f Visible = FalseWhile Hour(Date Now) 如果當前時間早于 點 窗體自動隱藏Application DoEvents()End Whilef ShowDialog()End Sub 輕松編寫托盤程序托盤程序作為一類特殊的窗體 其快捷圖標顯示在系統(tǒng)托盤中 窗體本身則隱藏不可見 在 NET之前版本的VB中編寫托盤程序是十分困難的 但是VB NET提供的新的NotifyIcon組件卻使VB初學者也能輕松編寫一個這樣的程序 新建 Windows應用程序 設置主窗體Opacity屬性為 FormBorderStyle屬性為None ShowInTaskbar屬性為False 這樣窗體將在啟動后隱藏 在窗體上放置一個NotifyIcon組件NotifyIcon 一個ContextMenu(彈出菜單)組件ContextMenu 并根據(jù)需要為ContextMenu 添加菜單項 設置NotifyIcon 的ICON屬性 這個圖標就是應用程序出現(xiàn)在系統(tǒng)托盤中的快捷圖標 設置NotifyIcon 的Text屬性為 VB NET托盤程序 這就是鼠標移動到托盤圖標時彈出的文字說明 設置NotifyIcon 的ContextMenu屬性為ContextMenu 也就是右鍵單擊快捷圖標時的彈出菜單為ContextMenu OK 按F 運行!幾乎不用編寫代碼 一個托盤程序就這樣輕松實現(xiàn)了 lishixinzhi/Article/program/net/201311/13831

用VB.NET設計各種形狀的窗體界面二

結合上一節(jié)介紹的方法 通過Visual Basic Net的菜單設計器 按照圖 和圖 所示的菜單結構設計菜單   圖 【MDI編程】項目的菜單結構之一   圖 【MDI編程】項目的菜單結構之二 在利用菜單設計器設計完菜單后 分別在窗體中雙擊 新建 退出 層疊顯示 橫行平鋪 縱向平鋪 和 排列圖標 菜單項 這樣Visual Basic Net會在Form vb文件中分別產(chǎn)生這些菜單項的Click事件對應的處理代碼 設定Form 的 IsMdiContainer 屬性值為 True 這把Form 窗體定義為MDI窗體容器 這一步設置是后面編程的基礎 當設置此屬性值后 Form 的窗體也發(fā)生了改變 圖 是設置此屬性后的窗體模樣   圖 把Form 窗體設置為MDI窗體容器后的模樣 選中圖 中的 窗口 菜單項 并設置此菜單項的 MdiList 屬性值為 True 其作用是當程序運行后 如果新建了一個MDI窗體 就會在 窗口 菜單項后 自動加入一個以新建MDI窗體名稱命名的菜單項 如果新建了多個MDI窗體 則會在 窗口 菜單項后 會加入以這些MDI窗體名稱命名的菜單項 當MDI窗體被關閉 那些以此MDI窗體命名的菜單項也會自動刪除 具體可圖 所示 把Visua Basic Net的當前窗口切換到Form vb的代碼編輯窗口 并在定義Form 中組件的代碼區(qū)加入下列代碼 下列代碼是定義一個變量 此變量用以統(tǒng)計程序中新建MDI窗體的數(shù)量 Private iFormCount As Integer = 用下列代碼替換Form vb中的MenuItem 的Click事件對應的處理代碼 MenuItem 即為圖 中的 新建 菜單項 下列代碼的作用是在新建一個MDI窗體 Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem ClickDim frmTemp As Form = New Form ( ) 新建一個窗體frmTemp MdiParent = Me 為當前創(chuàng)建的窗體設置MDI父窗體frmTemp Text = MDI窗體 + iFormCount ToString ( )iFormCount = iFormCount + frmTemp Show ( ) 把此MDI窗體顯示出來End Sub 用下列代碼替換Form vb中的MenuItem 的Click事件對應的處理代碼 MenuItem 即為圖 中的 退出 菜單項 下列代碼的作用是退出應用程序 Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem ClickApplication Exit ( ) 退出應用程序End Sub 用下列代碼替換Form vb中的MenuItem 的Click事件對應的處理代碼 MenuItem 即為圖 中的 層疊顯示 菜單項 下列代碼的作用是層疊排列窗體中的所有MDI窗體 Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem ClickMe LayoutMdi ( MdiLayout Cascade ) 層疊排列窗體中的所有MDI窗體End Sub 用下列代碼替換Form vb中的MenuItem 的Click事件對應的處理代碼 MenuItem 即為圖 中的 水平平鋪 菜單項 下列代碼的作用是水平平鋪窗體中的所有MDI窗體 Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem ClickMe LayoutMdi ( MdiLayout TileHorizontal ) 水平平鋪窗體中的所有MDI窗體End Sub 用下列代碼替換Form vb中的MenuItem 的Click事件對應的處理代碼 MenuItem 即為圖 中的 垂直平鋪 菜單項 下列代碼的作用是垂直平鋪窗體中的所有MDI窗體 Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem ClickMe LayoutMdi ( MdiLayout TileVertical ) 垂直平鋪窗體中的所有MDI窗體End Sub 用下列代碼替換Form vb中的MenuItem 的Click事件對應的處理代碼 MenuItem 即為圖 中的 排列圖標 菜單項 下列代碼的作用是窗體中的所有MDI窗體排列圖標 Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem ClickMe LayoutMdi ( MdiLayout ArrangeIcons ) 窗體中的所有MDI窗體排列圖標End Sub至此【MDI編程】項目的全部工作就完成了 圖 圖 和圖 是程序運行后的界面   圖 【MDI編程】運行界面之一   圖 【MDI編程】運行界面之二 圖 【MDI編程】運行界面之三 此時我們注意到圖 所示的 窗口 菜單中增加許多子菜單 而在程序設計時 并沒有處理這些功能的代碼 這是由于第十一步中設置 窗口 菜單項的 MdiList 屬性值為 True 造成的 可見正確的設置組件的屬性值有時的確能夠代替煩雜的代碼編寫工作 五 總結 本文主要內容有二個 其一是介紹的在Visual Basic Net定制不規(guī)則窗體的實現(xiàn)方法 在Visual Basic Net中創(chuàng)建不規(guī)則窗體主要使用的是Region類和GraphicsPath類 GraphicsPath主要是繪制窗體的形狀 Region主要是以GraphicsPath來構建窗體 結合本文的實現(xiàn)思路和具體方法 我想對于其他形狀的窗體 在掌握GraphicsPath類提供的使用方法的前提下 加上對所要創(chuàng)建不規(guī)則窗體的規(guī)劃設計 用Visual Basic Net實現(xiàn)起來應該不算很困難 本文的另外一個主要內容就是介紹在Visual Basic Net編寫MDI應用程序的基本過程 技巧和注意事項 通過本文的介紹可見Visual Basic Net的MDI編程并沒有什么復雜的地方 只需了解一些對MDI窗體處理的方法及其調用方式 當然更重要的是要了解并掌握某些組件的針對MDI的屬性及其設置方式 lishixinzhi/Article/program/net/201311/11698

當前標題:vb.net自繪窗體 vb窗體設計窗口
本文鏈接:http://muchs.cn/article14/hgicde.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、品牌網(wǎng)站制作、網(wǎng)站設計企業(yè)建站、App設計標簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設計