vb.net怎么做ui VBNET程序設(shè)計(jì)

怎么在VB或Delphi里做漂亮的UI界面呢?

其實(shí)他們用的都是自己的界面庫(kù),自己做難度很大

創(chuàng)新互聯(lián)建站長(zhǎng)期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為小店企業(yè)提供專(zhuān)業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè),小店網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

你用一些免費(fèi)的界面庫(kù)巴,搜索下界面庫(kù)就可以了

vb.net 如何制作圖標(biāo)按鈕 ?急急急!!在線等!

窗口邊框(FormBorderStyle)設(shè)為None,窗口(WindowState)設(shè)為Maximized,如果想讓窗口背景透明,將窗口背景顏色和TransparencyKey設(shè)為同一種顏色,按鈕用Label(標(biāo)簽)代替,背景設(shè)為T(mén)ransparent,邊框設(shè)為None,文字位置一般是下中,Label控件支持無(wú)邊框。

動(dòng)感效果在鼠標(biāo)事件(MouseDown按下,MouseUp抬起,MouseEnter進(jìn)入,MouseLeave離開(kāi))更換指定的圖片;

添加timer控件還可以使用動(dòng)畫(huà)

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Me.Label1.Refresh()

End Sub

快捷鍵用熱鍵

RegisterHotKey

函數(shù)功能:該函數(shù)定義一個(gè)系統(tǒng)范圍的熱鍵。

函數(shù)原型:BOOL RegisterHotKey(HWND hWnd,intid,UINT fsModifiers,UINT vk);

參數(shù):

hWnd:接收熱鍵產(chǎn)生WM_HOTKEY消息的窗口句柄。若該參數(shù)NULL,傳遞給調(diào)用線程的WM_HOTKEY消息必須在消息循環(huán)中中進(jìn)行處理。

id:定義熱鍵的標(biāo)識(shí)符。調(diào)用線程中的其他熱鍵不能使用同樣的標(biāo)識(shí)符。應(yīng)用功能程序必須定義一個(gè)0X0000-0xBFFF范圍的值。一個(gè)共享的動(dòng)態(tài)鏈接庫(kù)(DLL)必須定義一個(gè)0xC000-0xFFFF范圍的值伯GlobalAddAtom函數(shù)返回該范圍)。為了避免與其他動(dòng)態(tài)鏈接庫(kù)定義的熱鍵沖突,一個(gè)DLL必須使用GlobalAddAtom函數(shù)獲得熱鍵的標(biāo)識(shí)符。

fsModifoers:定義為了產(chǎn)生WM_HOTKEY消息而必須與由nVirtKey參數(shù)定義的鍵一起按下的鍵。該參數(shù)可以是如下值的組合:

MOD_ALT:按下的可以是任一Alt鍵。MOD_CONTROL:按下的可以是任一Ctrl鍵。

MOD_SHIFT:按下的可以是任一Shift鍵。

MOD_WIN:按下的可以是任一Windows按鍵。

vk:定義熱鍵的虛擬鍵碼。

返回值:若函數(shù)調(diào)用成功,返回一個(gè)非O值。若函數(shù)調(diào)用失敗,則返回值為0。若要獲得更多的錯(cuò)誤信息,可以調(diào)用GetLastError函數(shù)。

備注:當(dāng)某鍵被接下時(shí),系統(tǒng)在所有的熱鍵中尋找匹配者。一旦找到一個(gè)匹配的熱鍵,系統(tǒng)將把WM_HOTKEY消息傳遞給登記了該熱鍵的線程的消息隊(duì)列。該消息被傳送到隊(duì)列頭部,因此它將在下一輪消息循環(huán)中被移去。該函數(shù)不能將熱鍵同其他線程創(chuàng)建的窗口關(guān)聯(lián)起來(lái)。

若為一熱鍵定義的擊鍵己被其他熱鍵所定義,則RegisterHotKey函數(shù)調(diào)用失敗。

若hWnd參數(shù)標(biāo)識(shí)的窗口已用與id參數(shù)定義的相同的標(biāo)識(shí)符登記了一個(gè)熱鍵,則參數(shù)fsModifiers和vk的新值將替代這些參數(shù)先前定義的值。

若設(shè)置MOD_KEYUP位,則當(dāng)發(fā)生鍵被按下或被彈起的事件時(shí),窗口將發(fā)送WM_HOTKEY消息。

RegisterHotKey可以被用來(lái)在線程之間登記熱鍵。

UnregisterHotKey

函數(shù)功能:該函數(shù)釋放調(diào)用線程先前登記的熱鍵。

函數(shù)原型:BOOL UnregisterHotKey(HWND hWnd,int id);

參數(shù):

hWnd:與被釋放的熱鍵相關(guān)的窗口句柄。若熱鍵不與窗口相關(guān),則該參數(shù)為NULL。

id:定義被釋放的熱鍵的標(biāo)識(shí)符。

返回值:若函數(shù)調(diào)用成功,返回值不為0。若函數(shù)調(diào)用失敗,返回值為0。若要獲得更多的錯(cuò)誤信息,可以調(diào)用GetLastError函數(shù)。

1、首先定義所需要用到的常量

如圖所示,在窗體代碼后定義常量和API函數(shù)

代碼如下:

Public Const WM_HOTKEY As Integer = H312

Public Const MOD_ALT As Integer = H1

Public Const MOD_CONTROL As Integer = H2

Public Const MOD_SHIFT As Integer = H4

Public Const GWL_WNDPROC As Integer = (-4)

Public Declare Auto Function RegisterHotKey Lib "user32.dll" Alias "RegisterHotKey" (ByVal hwnd As IntPtr, ByVal id As Integer, ByVal fsModifiers As Integer, ByVal vk As Integer) As Boolean

Public Declare Auto Function UnRegisterHotKey Lib "user32.dll" Alias "UnregisterHotKey" (ByVal hwnd As IntPtr, ByVal id As Integer) As Boolean

下面過(guò)程是注冊(cè)Ctrl+T的組合鍵為組合鍵,假如注冊(cè)成功,則返回true,反之注冊(cè)失敗則返回false,我們可以根據(jù)返回的結(jié)果判斷并提醒用戶注冊(cè)的情況。

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim isResult As Boolean

isResult=RegisterHotKey(Handle, 0, MOD_CONTROL, Asc("T")) ’注冊(cè)Ctrl+T的組合鍵

If isResult = False Then

MsgBox("注冊(cè)熱鍵Ctrl+T失敗")

End If

End Sub

[apge]

下面過(guò)程為重載WndProc過(guò)程,響應(yīng)熱鍵并處理熱鍵,這里是用來(lái)隱藏和顯示程序主界面。

Protected Overrides Sub WndProc(ByRef m As Message)

If m.Msg = WM_HOTKEY Then

System.Diagnostics.Process.Start("C:\WINDOWS\system32\freecell.exe")'運(yùn)行當(dāng)空接龍游戲

End If

MyBase.WndProc(m)

End Sub

最后在關(guān)閉窗體的時(shí)候釋放占用的熱鍵,如果前面注冊(cè)失敗的話,則會(huì)出現(xiàn)釋放失敗的結(jié)果。

Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed

Dim isResult As Boolean

isResult=UnRegisterHotKey(Handle, 0)

End Sub

雙擊打開(kāi)指定的程序

Private Sub Label1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label1.DoubleClick

System.Diagnostics.Process.Start("C:\WINDOWS\system32\freecell.exe")

End Sub

System.Diagnostics.Process.Start("路徑")打開(kāi)指定程序

先列出這些吧

VB.NET用子線程進(jìn)行大批量數(shù)據(jù)傳輸,UI卡死,請(qǐng)高手指教。代碼如下

試試這個(gè)怎么樣,添加在子進(jìn)程里面,就加在你批量傳輸代碼里的每一個(gè)傳輸后面,也就是大批量中的每傳輸一個(gè)數(shù)據(jù)就暫停一下,而不是每一個(gè)大批量才暫停一下

System.Threading.Thread.Sleep(10) '讓它走慢一點(diǎn)

VB.net一個(gè)很簡(jiǎn)單的UI問(wèn)題

花了二十分鐘給你寫(xiě)了代碼,已測(cè)試。建議學(xué)習(xí)并使用System.Drawing繪制。

主要是掌握Graphics.FillRectangle和DrawString的使用。

Imports?System.Drawing

Public?Class?進(jìn)度條UI

Public?上面筆刷?As?SolidBrush?=?New?SolidBrush(Color.FromArgb(192,?175,?238,?238))

Public?下面筆刷?As?SolidBrush?=?New?SolidBrush(Color.FromArgb(192,?30,?144,?255))

Public?文字筆?As?SolidBrush?=?New?SolidBrush(Color.FromArgb(255,?255,?255,?255))

Public?字體?As?Font?=?New?Font("微軟雅黑",?14.0)

Public?文字格式?As?StringFormat?=?New?StringFormat()?With

{.Alignment?=?StringAlignment.Center,?.LineAlignment?=?StringAlignment.Center}

'''?summary

'''?繪制指定進(jìn)度的圖像。

'''?當(dāng)進(jìn)度變化時(shí)調(diào)用一次本方法,建議將創(chuàng)建的Graphics對(duì)象保存到變量而不要重復(fù)創(chuàng)建。。

'''?/summary

'''?param?name="控件"繪制到此控件的工作區(qū)/param

'''?param?name="g"繪制到控件的Graphics對(duì)象,例如?Button1.CreateGraphics()/param

'''?param?name="進(jìn)度"進(jìn)度百分比實(shí)數(shù),57%?=?0.57/param

Public?Sub?繪制(ByRef?控件?As?Control,?ByRef?g?As?Graphics,?ByVal?進(jìn)度?As?Double)

Dim?矩形?=?控件.ClientRectangle?'獲取控件的工作區(qū)矩形

Dim?下面高度?=?CInt(矩形.Height?*?進(jìn)度)?'獲取下面顏色塊的高度

Dim?中間位置?=?矩形.Top?+?矩形.Height?-?下面高度?'獲取中間分界線的Y坐標(biāo)

Dim?上矩形?=?New?Rectangle(矩形.X,?矩形.Y,?矩形.Width,?矩形.Height?-?下面高度)

Dim?下矩形?=?New?Rectangle(矩形.X,?中間位置,?矩形.Width,?下面高度)

g.FillRectangle(上面筆刷,?上矩形)

g.FillRectangle(下面筆刷,?下矩形)

'繪制文字

Dim?文字?As?String?=?String.Format("{0:0.00}%",?進(jìn)度?*?100)

g.DrawString(文字,?字體,?文字筆,?矩形,?文字格式)

End?Sub

End?Class

下面是Form1窗體的代碼:添加一個(gè)Button1和Timer1控件,將Button1尺寸拖大點(diǎn)

Public?Class?Form1

Public?g?As?Graphics

Public?進(jìn)度條UI?As?New?進(jìn)度條UI

Public?進(jìn)度?As?Double

Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click

g?=?Button1.CreateGraphics()

Timer1.Enabled?=?Not?Timer1.Enabled

End?Sub

Private?Sub?Timer1_Tick(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Timer1.Tick

進(jìn)度?+=?0.01

進(jìn)度條UI.繪制(Button1,?g,?進(jìn)度)

End?Sub

End?Class

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

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

用VB.NET開(kāi)發(fā)的應(yīng)用程序,大家用什么軟件或第三方控件做UI界面的編碼???

Visual Studio?2013

Microsoft Visual Studio(簡(jiǎn)稱(chēng)VS)是美國(guó)微軟公司的開(kāi)發(fā)工具包系列產(chǎn)品。VS是一個(gè)基本完整的開(kāi)發(fā)工具集,它包括了整個(gè)軟件生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開(kāi)發(fā)環(huán)境(IDE)等等。所寫(xiě)的目標(biāo)代碼適用于微軟支持的所有平臺(tái),包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft?Silverlight?及Windows Phone。?Visual Studio是目前最流行的Windows平臺(tái)應(yīng)用程序的集成開(kāi)發(fā)環(huán)境。最新版本為 Visual Studio 2013 版本,基于.NET Framework?4.5.1 。

本文題目:vb.net怎么做ui VBNET程序設(shè)計(jì)
網(wǎng)頁(yè)路徑:http://muchs.cn/article44/hgedhe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作微信公眾號(hào)、域名注冊(cè)、搜索引擎優(yōu)化、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)公司

廣告

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

小程序開(kāi)發(fā)