欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

vb.net禁止拖動 vb拖動控件

在VB.NET2005中如何禁止有鼠標(biāo)拖動改變界面大小?

Private

創(chuàng)新互聯(lián)客戶idc服務(wù)中心,提供四川樂山服務(wù)器托管、成都服務(wù)器、成都主機(jī)托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價(jià)的產(chǎn)品以及開放、透明、穩(wěn)定、高性價(jià)比的服務(wù),資深網(wǎng)絡(luò)工程師在機(jī)房提供7*24小時(shí)標(biāo)準(zhǔn)級技術(shù)保障。

Sub

Form_Resize()

'在窗口的改變大小時(shí)所觸發(fā)的事件

On

Error

Resume

Next

'有錯(cuò)誤跳到下一條繼續(xù)執(zhí)行

Form1.Height

=

10185

'設(shè)定窗口高

Form1.Width

=

8700

'設(shè)定窗口寬

End

Sub

VB.NET怎么可以限制窗體不能被鼠標(biāo)隨便拖動位置

很簡單,通過WindowsAPI,刪除窗體菜單項(xiàng)就行了

首先在窗體類中聲明API:

Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As IntPtr, ByVal bRevert As Boolean) As IntPtr

Declare Function RemoveMenu Lib "user32" (ByVal lngHmenu As IntPtr, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer

其次聲明API參數(shù)常量:

Const MF_BYPOSITION As Integer = H400

然后在窗體類中寫入過程:

Private Sub UserForm_Initialize_stopmove() '禁止窗體移動

? Dim lngHwnd As IntPtr

? Dim lngHmenu As IntPtr

? lngHwnd = Me.Handle

? If lngHwnd 0 Then

? ? ? lngHmenu = GetSystemMenu(lngHwnd, False)

? ? ? RemoveMenu(lngHmenu, 0, MF_BYPOSITION) '這里的0代表菜單中從上往下數(shù)第一個(gè)菜單項(xiàng)

? End If

End Sub

Private Sub UserForm_Initialize_onmove() '恢復(fù)窗體移動

? Dim lngHwnd As IntPtr

? Dim lngHmenu As IntPtr

? lngHwnd = Me.Handle

? If lngHwnd 0 Then

? ? ? lngHmenu = GetSystemMenu(lngHwnd, True)

RemoveMenu(lngHmenu, 0, MF_BYPOSITION) '這里的0與禁止代碼中的數(shù)值同步,原因時(shí)雖然表面上刪除了菜單項(xiàng),實(shí)則為隱藏了菜單項(xiàng),各個(gè)菜單的索引值并沒有變,所以0依然代表初始菜單的第一個(gè)菜單項(xiàng),即被刪除的那個(gè)菜單項(xiàng)

? End If

End Sub

然后如果你的窗口菜單是動態(tài)變化的,建議聲明常數(shù):

Const MF_BYPOSITION As Integer = H0

然后使用相關(guān)的Windows功能的常數(shù)進(jìn)行刪除菜單。常數(shù)需要自行查看winuser.h頭文件

如果找不到該頭文件,可以看這里:網(wǎng)頁鏈接

其余信息詳見MSDN:網(wǎng)頁鏈接

最后說一下,不建議前面網(wǎng)友說的重寫WndProc的方法,因?yàn)檫@樣攔截標(biāo)題欄點(diǎn)擊消息會導(dǎo)致窗體本身的菜單也無法顯示出來,有損窗體功能,并且像雙擊左上角圖標(biāo)關(guān)閉窗體這樣的功能也會跟著攔截消息的操作一起被吞掉。

如何在VB.NET中限制窗體移動

VB中就有呀叫MDI窗體,你選擇“工程—添加MDI窗體”就可以了,然后把你剛剛的FORM1窗體設(shè)為MDI的子窗體就在它的屬性里MDIChild設(shè)為True就可以了

在.net里如何鎖定窗體,拖動標(biāo)題欄,使其不移動?

實(shí)現(xiàn)方法如下:

1.引用命名空間

using System.Runtime.InteropServices;

2.聲明如下變量:

public class Form1 : System.Windows.Forms.Form

{

//.....

[DllImport("user32.dll",EntryPoint="GetSystemMenu")]

extern static IntPtr GetSystemMenu(IntPtr hWnd, IntPtr bRevert);

[DllImport("user32.dll",EntryPoint="RemoveMenu")]

extern static int RemoveMenu(IntPtr hMenu, int nPos, int flags);

//.....

}

3.在Form的構(gòu)造函數(shù)里加入代碼

public Form1()

{

const int MF_BYPOSITION = 0x0400;

const int MF_REMOVE = 0x1000;

FormBorderStyle = FormBorderStyle.FixedSingle;

MaximizeBox = false;

MinimizeBox = false;

RemoveMenu(GetSystemMenu(Handle,IntPtr.Zero),1,MF_BYPOSITION |MF_REMOVE);

}

就OK啦

當(dāng)前文章:vb.net禁止拖動 vb拖動控件
當(dāng)前路徑:http://chinadenli.net/article30/hijspo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)微信公眾號手機(jī)網(wǎng)站建設(shè)動態(tài)網(wǎng)站電子商務(wù)網(wǎng)站導(dǎo)航

廣告

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

小程序開發(fā)