這是一個關于模態(tài)窗口與非模態(tài)窗口的問題。
創(chuàng)新互聯(lián)長期為上千客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為西城企業(yè)提供專業(yè)的做網站、成都網站建設,西城網站改版等技術服務。擁有十余年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
實現(xiàn)非模態(tài)窗口也沒什么難度
Dim form As New Form1
form.TopMost = True
form.Show()
你再將鼠標移到父窗口上,彈出的窗口也不會消失。
花了二十分鐘給你寫了代碼,已測試。建議學習并使用System.Drawing繪制。
主要是掌握Graphics.FillRectangle和DrawString的使用。
Imports?System.Drawing
Public?Class?進度條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
'''?繪制指定進度的圖像。
'''?當進度變化時調用一次本方法,建議將創(chuàng)建的Graphics對象保存到變量而不要重復創(chuàng)建。。
'''?/summary
'''?param?name="控件"繪制到此控件的工作區(qū)/param
'''?param?name="g"繪制到控件的Graphics對象,例如?Button1.CreateGraphics()/param
'''?param?name="進度"進度百分比實數,57%?=?0.57/param
Public?Sub?繪制(ByRef?控件?As?Control,?ByRef?g?As?Graphics,?ByVal?進度?As?Double)
Dim?矩形?=?控件.ClientRectangle?'獲取控件的工作區(qū)矩形
Dim?下面高度?=?CInt(矩形.Height?*?進度)?'獲取下面顏色塊的高度
Dim?中間位置?=?矩形.Top?+?矩形.Height?-?下面高度?'獲取中間分界線的Y坐標
Dim?上矩形?=?New?Rectangle(矩形.X,?矩形.Y,?矩形.Width,?矩形.Height?-?下面高度)
Dim?下矩形?=?New?Rectangle(矩形.X,?中間位置,?矩形.Width,?下面高度)
g.FillRectangle(上面筆刷,?上矩形)
g.FillRectangle(下面筆刷,?下矩形)
'繪制文字
Dim?文字?As?String?=?String.Format("{0:0.00}%",?進度?*?100)
g.DrawString(文字,?字體,?文字筆,?矩形,?文字格式)
End?Sub
End?Class
下面是Form1窗體的代碼:添加一個Button1和Timer1控件,將Button1尺寸拖大點
Public?Class?Form1
Public?g?As?Graphics
Public?進度條UI?As?New?進度條UI
Public?進度?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
進度?+=?0.01
進度條UI.繪制(Button1,?g,?進度)
End?Sub
End?Class
可以利用msgbox 實現(xiàn),也可以通過另外的窗體上畫出表格實現(xiàn)
方法一,利用msgbox:
Private Sub Command1_Click()Dim a As Long, b As Long, c As LongMsgBox "┌────┬────┬────┐" vbCrLf _ "│ 庫存1 │ 庫存2 │ 庫存3 │" vbCrLf _ "├────┼────┼────┤" vbCrLf _ "│" formatstr(a) "│" formatstr(b) "│" formatstr(c) "│" vbCrLf _ "└────┴────┴────┘" End SubPrivate Function formatstr(ByVal inputStr As String) As StringDim j As Integerj = (8 - Len(inputStr)) \ 2formatstr = Space(j) inputStr Space(j) Space((8 - Len(inputStr)) Mod 2)End Function
方法二,利用窗體實現(xiàn):
’新建form2窗體‘將以下代碼復制到form2窗體中Private Sub Form_Load()ShowPrint "┌────┬────┬────┐" vbCrLf _ "│ 庫存1 │ 庫存2 │ 庫存3 │" vbCrLf _ "├────┼────┼────┤" vbCrLf _ "│" formatstr(a) "│" formatstr(b) "│" formatstr(c) "│" vbCrLf _ "└────┴────┴────┘" End SubPrivate Function formatstr(ByVal inputStr As String) As StringDim j As Integerj = (8 - Len(inputStr)) \ 2formatstr = Space(j) inputStr Space(j) Space((8 - Len(inputStr)) Mod 2)End Function‘將以下代碼復制在form1窗體中Private Sub Command1_Click()Form2.ShowEnd Sub
可以的,設置邊框窗戶,
設置可拖動
releasecapture()
sendmessage wm_syscommand ,htcaption or wm_move
置頂
setwindowpos -1,0,0,0,0,H1 or H2
當用戶按下左鍵時,為按下對象的MouseMove事件綁定處理方法,并記錄鼠標坐標(窗體左上角為原點,在事件的MouseEventArgs類型的e參數中提供)。此時用戶移動鼠標,保持窗體原點與鼠標新坐標的相對位置不變。當用戶釋放左鍵時,撤銷按下對象的MouseMove事件處理方法
本文題目:vb.net懸浮窗,web懸浮窗
文章URL:http://www.chinadenli.net/article32/dseocpc.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供App設計、網站導航、用戶體驗、網站設計、移動網站建設、關鍵詞優(yōu)化
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)