成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

vb.net調(diào)用窗口語句 vb聊天窗口編寫

VB.NET 跨窗口調(diào)用數(shù)據(jù)并更新數(shù)據(jù)

因?yàn)槟愕拇a都是通過新的實(shí)例來調(diào)用的,所以無法獲取A變量的值。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供茶陵網(wǎng)站建設(shè)、茶陵做網(wǎng)站、茶陵網(wǎng)站設(shè)計(jì)、茶陵網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、茶陵企業(yè)網(wǎng)站模板建站服務(wù),十年茶陵做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

解決方法。

A

form1中, 直接使用 form2.show(); 不創(chuàng)建新的實(shí)例。

form2中,直接用 textbox1.text = form1.a ;也不要?jiǎng)?chuàng)建form1的實(shí)例。

B

form1調(diào)用form2的時(shí)間,將本身的實(shí)例傳遞給Form2 .

form1中, dim frm2 as new form2(me);(分號(hào)代表空行)frm2.show()

form2中,添加SUB NEW的方法,來接受form1的實(shí)例,然后再調(diào)用

vb.net 多線程調(diào)用另一窗口,假死現(xiàn)象,如何解決

感覺問題出在

Form2.Show() '啟動(dòng)倒計(jì)時(shí)顯示窗口

這一句上。

這一句應(yīng)該只需要執(zhí)行一次就行了。

把它放在timer中,多次調(diào)用,造成假死。

VB怎么調(diào)用當(dāng)前打開窗口?

如果在VB程序內(nèi)部,請(qǐng)使用窗體對(duì)象的名稱來訪問它。即

form1,

form2。

它的成員函數(shù)可以通過成員訪問符

.

來訪問。

如果窗口是其它程序創(chuàng)建,

使用

API

FindWindow

獲得句柄,向其發(fā)送消息,

或直接用句柄重定位窗口過程

SetWindowLong(hwnd,GWL_WNDPROC,你在自己定義的窗口過程),

可以對(duì)其完全控制。

絕對(duì)正確。

求vb.net句柄實(shí)例,實(shí)現(xiàn)操作其他程序窗口。如我給的例子

Imports?System.Text

Imports?System.Runtime.InteropServices

Public?Class?Form1

'?相關(guān)API函數(shù)聲明,注釋掉的這里沒用到,但是也比較常用吧,這些函數(shù)的功能都能搜到。

Private?Declare?Function?FindWindow?Lib?"user32"?Alias?"FindWindowA"?(ByVal?lpClassName?As?String,?ByVal?lpWindowName?As?String)?As?IntPtr

Private?Declare?Function?FindWindowEx?Lib?"user32"?Alias?"FindWindowExA"?(ByVal?hWnd1?As?IntPtr,?ByVal?hWnd2?As?IntPtr,?ByVal?lpsz1?As?String,?ByVal?lpsz2?As?String)?As?IntPtr

Private?Delegate?Function?EnumChildProc(ByVal?hWnd?As?IntPtr,?ByVal?lParam?As?Integer)?As?Boolean

Private?Declare?Function?EnumChildWindows?Lib?"user32.dll"?(ByVal?hWndParent?As?IntPtr,?ByVal?lpEnumFunc?As?EnumChildProc,?ByVal?lParam?As?Integer)?As?Boolean

Private?Declare?Auto?Function?SendMessage?Lib?"User32.dll"?(ByVal?hWnd?As?IntPtr,?ByVal?Msg?As?Integer,?ByVal?wParam?As?Integer,?ByVal?lParam?As?String)?As?Integer

'Private?Declare?Function?CheckDlgButton?Lib?"user32"?Alias?"CheckDLGButtonA"?(ByVal?hDlg?As?IntPtr,?ByVal?nIDButton?As?IntPtr,?ByVal?wCheck?As?Integer)?As?Integer

Private?Declare?Function?GetClassName?Lib?"user32"?Alias?"GetClassNameA"?(ByVal?hWnd?As?IntPtr,?ByVal?lpClassName?As?StringBuilder,?ByVal?nMaxCount?As?Integer)?As?Integer

'Private?Declare?Function?GetWindowThreadProcessId?Lib?"user32"?Alias?"GetWindowThreadProcessId"?(ByVal?hwnd?As?IntPtr,?ByVal?lpdwProcessId?As?Long)?As?Integer

Private?Declare?Auto?Function?GetWindowTextLength?Lib?"user32"?Alias?"GetWindowTextLength"?(ByVal?hwnd?As?IntPtr)?As?Integer

Private?Declare?Function?GetWindowText?Lib?"user32"?Alias?"GetWindowTextA"?(ByVal?hwnd?As?IntPtr,?ByVal?lpString?As?StringBuilder,?ByVal?cch?As?Integer)?As?Integer

'?相關(guān)消息定義,也有沒用到的

Const?WM_SETTEXT?=?HC

Const?WM_GETTEXT?=?HD

'Const?WM_SETFOCUS?=?H7

'Const?WM_KILLFOCUS?=?H8

'Const?WM_CLOSE?=?H10

'Const?WM_SYSCOMMAND?=?H112

'Const?SC_CLOSE?=?HF060

'Const?SC_MINIMIZE?=?HF020

Const?BM_GETCHECK?=?HF0

Const?BM_SETCHECK?=?HF1

Const?BM_GETSTATE?=?HF2

Const?BM_SETSTATE?=?HF3

Const?BM_SETSTYLE?=?HF4

Const?BM_CLICK?=?HF5

'Const?BM_GETIMAGE?=?HF6

'Const?BM_SETIMAGE?=?HF7

Const?BST_UNCHECKED?=?O0

Const?BST_CHECKED?=?O1

Const?BST_INDETERMINATE?=?O2

'?儲(chǔ)存窗口句柄

Dim?WindowHandle?As?IntPtr

'?儲(chǔ)存兩個(gè)(或者多個(gè))編輯框句柄

Dim?EditHandle?As?New?List(Of?IntPtr)

Dim?EditWindowsText?As?List(Of?String)

'?儲(chǔ)存復(fù)選框句柄

Dim?CheckHandle?As?IntPtr?=?0

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

Button1_Click(sender,?e)

End?Sub

'?EnumChildWindows?回調(diào)函數(shù),該函數(shù)名作為API函數(shù)EnumChildWindows?的一個(gè)參數(shù)

'?該函數(shù)實(shí)現(xiàn)了枚舉各個(gè)子窗口,找出編輯框?qū)傩缘墓δ?/p>

Public?Function?EnumChildProcC(ByVal?hwnd?As?IntPtr,?ByVal?lParam?As?Integer)?As?Boolean

Dim?dwWindowClass?As?StringBuilder?=?New?StringBuilder(100)

'?獲得某一個(gè)句柄的類名

GetClassName(hwnd,?dwWindowClass,?100)

If?dwWindowClass.ToString.Contains("EDIT")?Or?dwWindowClass.ToString.Contains("Edit")?Then?????'?類名包含EDIT的為編輯框

EditHandle.Add(hwnd)????????????????????????'?存儲(chǔ)該句柄

End?If

'?返回?True?一直枚舉完

Return?True

End?Function

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

WindowHandle?=?FindWindow(vbNullString,?"登陸")

If?WindowHandle.ToInt32?=?0?Then

MsgBox("未捕獲到窗口"?+?"登陸")

Return

End?If

'?枚舉所有主窗口的子窗口(控件),枚舉時(shí)自動(dòng)調(diào)用回調(diào)函數(shù),完成編輯框句柄的獲取

EnumChildWindows(WindowHandle,?AddressOf?EnumChildProcC,?0)

'?尋找復(fù)選框

CheckHandle?=?FindWindowEx(WindowHandle,?IntPtr.Zero,?vbNullString,?"記住密碼")

Dim?str?As?New?StringBuilder

Dim?j?As?Integer?=?0

'?對(duì)編輯框文本賦值

For?j?=?0?To?EditHandle.Count?-?1

SendMessage(EditHandle(j),?WM_SETTEXT,?0,?"Text")

'GetWindowText(EditHandle(j),?str,?20)

'EditWindowsText.Add(Str.ToString)

'Str.Clear()

Next

If?EditHandle.Count?=?0?Then

MsgBox("未找到輸入框!")

End?If????????

If?CheckHandle.ToInt32??0?Then

'CheckDlgButton(WindowHandle,?id,?1)

'?對(duì)復(fù)選框進(jìn)行鼠標(biāo)單擊操作

SendMessage(CheckHandle,?BM_CLICK,?0,?0)

'SendMessage(CheckHandle,?BM_SETCHECK,?True,?0)

End?If

End?Sub

End?Class

VB.NET怎么調(diào)用別的窗體!

在 VB.NET 中,你編好的窗體僅僅是一個(gè)類而已,不像 VB6,窗體本身就是一個(gè)對(duì)象。就是說,如果要顯示窗體,你需要將你編的窗體類實(shí)例化對(duì)一個(gè)對(duì)象,然后再調(diào)用這個(gè)對(duì)象:

Dim frm As New frmDlg ' 將 frmDlg 窗體類實(shí)例化為對(duì)象 frmfrm.Show() ' 將實(shí)例化的對(duì)象顯示出來

VB.NET 在其它窗口如何調(diào)用 DataGridView1.CurrentRow.Cells(0).Value

NullReferenceException表示的是你調(diào)用的某一個(gè)對(duì)象為Null

從你的描述來看,你應(yīng)該是在Form3里面Show的Form6

我建議你不要一行寫太多的代碼,這樣出錯(cuò)不容易找到問題

你的DataGridView1、CurrentRow、Cells(0)、Value這些都可能為空

你可以先用一個(gè)變量保存你選中的單號(hào),而且你可以在出錯(cuò)的時(shí)候看到這個(gè)單號(hào)到底有沒有取到,進(jìn)而確定具體問題

你可以在出錯(cuò)的時(shí)候選中這一個(gè)對(duì)象

然后右鍵,選擇添加監(jiān)視,或者快速監(jiān)視來查看這個(gè)對(duì)象的值以確定它是不是null

你找的出錯(cuò)那一行的代碼哪個(gè)對(duì)象為null,然后再確定問題就好了(一般對(duì)象為null都是流程不對(duì)或未取到正確的值)

跨窗口傳值的話使用公有屬性是沒有錯(cuò)的,不過一般不直接傳整個(gè)Grid,而是需要什么傳什么;你這里需要單號(hào)的話直接設(shè)置單號(hào)這個(gè)屬性,然后在showFrom6之前把單號(hào)取出來賦值過去就好了

網(wǎng)站名稱:vb.net調(diào)用窗口語句 vb聊天窗口編寫
文章鏈接:http://jinyejixie.com/article38/dochssp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、Google靜態(tài)網(wǎng)站、網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、搜索引擎優(yōu)化

廣告

聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
沙坪坝区| 屏南县| 南投市| 汉源县| 宁城县| 巴里| 台江县| 波密县| 德庆县| 沂源县| 兴化市| 小金县| 凤台县| 盐亭县| 晋城| 烟台市| 金阳县| 塘沽区| 宁化县| 班戈县| 印江| 依安县| 缙云县| 上高县| 柘城县| 田东县| 湘潭市| 开封市| 永新县| 微山县| 三明市| 苏尼特左旗| 双柏县| 蕲春县| 江陵县| 旌德县| 平山县| 工布江达县| 平塘县| 三门县| 文昌市|