先選中要改名的窗體,在屬性里找Caption屬性,一般第一個(gè)窗體都默認(rèn)Form1,然后想改成什么就改成什么。
網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營(yíng)網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁(yè)面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為成都白烏魚等企業(yè)提供專業(yè)服務(wù)。
或者在代碼中你想改窗體名的地方,比如
Private Sub Form_Load()
formname.caption=‘窗體名’
End Sub
formname 是窗體這個(gè)實(shí)例的名字,用于引用該實(shí)例。
窗體名 是顯示在這個(gè)窗體最上面的那個(gè)名字
可以將Form1里的串口公開,然后在Form2里添加對(duì)DataReceived事件的處理
Form1.Designer.cs中將
private System.IO.Ports.SerialPort port;改為
publice System.IO.Ports.SerialPort port;
然后在Form2里加上
Form1.port.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(port_DataReceived);
最后在
void port_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
在這里進(jìn)行處理就可以了;
}
這個(gè)是C#的,VB的你自己轉(zhuǎn)一下
? private const int GWL_STYLE = (-16);
? private const int GWL_EXSTYLE = (-20);
? private const uint WS_EX_LAYERED = 0x80000;
? private const uint WS_EX_TRANSPARENT = 0x20;
? private const uint WS_THICKFRAME = 262144;
? private const uint WS_BORDER = 8388608;
/// summary使指定 「 see cref="IntPtr"/ 句柄」 窗體 邊框樣式變?yōu)闊o(wú)邊框。/summary
? public static uint 無(wú)邊框窗體(IntPtr 句柄) {
? ? ? uint style = API_窗口.GetWindowLong(句柄, GWL_STYLE);
? ? ? style = ~WS_BORDER;
? ? ? style = ~WS_THICKFRAME;
? ? ? return API_窗口.SetWindowLong(句柄, GWL_STYLE, style); ;
? }
API窗口靜態(tài)類
? [DllImport("user32", EntryPoint = "SetWindowLong")]
? public static extern uint SetWindowLong(IntPtr hwnd, int nIndex, uint dwNewLong);
? [DllImport("user32", EntryPoint = "GetWindowLong")]
? public static extern uint GetWindowLong(IntPtr hwnd, int nIndex);
修改窗口位置
/// summary
? /// 設(shè)置窗體的位置和大小。
? /// /summary
? /// param name="hWnd"/param
? /// param name="hWndInsertAfter"用于標(biāo)識(shí)在z-順序的此 CWnd 對(duì)象之前的 CWnd 對(duì)象。
? /// para/para如果uFlags參數(shù)中設(shè)置了SWP_NOZORDER標(biāo)記則本參數(shù)將被忽略??蔀橄铝兄抵唬?/p>
? /// para/paraHWND_BOTTOM:值為1,將窗體置于Z序的底部。如果參數(shù)hWnd標(biāo)識(shí)了一個(gè)頂層窗體,則窗體失去頂級(jí)位置,并且被置在其他窗體的底部。
? /// para/paraHWND_NOTOPMOST:值為-2,將窗體置于所有非頂層窗體之上(即在所有頂層窗體之后)。如果窗體已經(jīng)是非頂層窗體則該標(biāo)志不起作用。
? /// para/paraHWND_TOP:值為0,將窗體置于Z序的頂部。
? /// para/paraHWND_TOPMOST:值為-1,將窗體置于所有非頂層窗體之上。即使窗體未被激活窗體也將保持頂級(jí)位置。/param
? /// param name="x"窗體新的x坐標(biāo)。如hwnd是一個(gè)子窗體,則x用父窗體的客戶區(qū)坐標(biāo)表示/param
? /// param name="y"窗體新的y坐標(biāo)。如hwnd是一個(gè)子窗體,則y用父窗體的客戶區(qū)坐標(biāo)表示/param
/// param name="Width"指定新的窗體寬度/param
/// param name="Height"指定新的窗體高度/param
? /// param name="wFlags"/param
? /// returns/returns
? [DllImport("user32.dll", CharSet = CharSet.Ansi, EntryPoint = "SetWindowPos")]
? public static extern int SetWindowPos(IntPtr hWnd, hWndInsertAfter hWndInsertAfter, int x, int y, int Width, int Height, wFlags wFlags);
? /// summary
? /// 調(diào)整指定 「 see cref="IntPtr"/ 句柄」 窗體的位置和尺寸。
? /// /summary
? /// param name="句柄"指定 「 see cref="IntPtr"/ 句柄」 窗體/param
? /// param name="x"橫坐標(biāo)/param
? /// param name="y"縱坐標(biāo)/param
? /// param name="w"寬/param
? /// param name="h"高/param
? public static int 調(diào)整窗體(IntPtr 句柄, int x, int y, int w, int h) {
? ? ? return API_窗口.SetWindowPos(句柄, 0, x, y, w, h, wFlags.SWP_NOZORDER);
? }
? /// summary
? /// 調(diào)整指定 「 see cref="IntPtr"/ 句柄」 窗體的位置。
? /// /summary
? /// param name="句柄"指定 「 see cref="IntPtr"/ 句柄」 窗體/param
? /// param name="x"橫坐標(biāo)/param
? /// param name="y"縱坐標(biāo)/param
? public static int 調(diào)整窗體位置(IntPtr 句柄, int x, int y) {
? ? ? return API_窗口.SetWindowPos(句柄, 0, x, y, 0, 0, wFlags.SWP_NOSIZE | wFlags.SWP_NOZORDER);
? }
首先窗口也是一個(gè)類,而顯示出來(lái)的可以操作的那個(gè)窗口則是這個(gè)類的實(shí)例
你的意思是點(diǎn)擊a的按鈕之后單純更新b的數(shù)據(jù)還是要改變b上面的控件顯示的數(shù)據(jù)?
如果是前者,也就是b不用在顯示上有任何變動(dòng)的話,那么:
如果b是a的子窗口,那把b窗口的變量名變成是a的全局變量,然后再b把那個(gè)要變的數(shù)據(jù)設(shè)為全局并且是public,這樣通過(guò)“b窗口變量名.要變的數(shù)據(jù)”就能訪問(wèn)到b里面的變量
如果b不是別人子窗口那么b就不具備變量名了(比如說(shuō)你是要從子窗口改變主窗口的變量),那你只能通過(guò)b的類名(就是name屬性)來(lái)訪問(wèn)它的數(shù)據(jù),這時(shí)就只能把你要改的那個(gè)數(shù)據(jù)設(shè)為static了。
如果你懂了前面我說(shuō)的,然后你問(wèn)題是后者,就是說(shuō)要通過(guò)a的按鈕改變b的控件的狀態(tài)的話,那么由于b上面的控件不是public的,所以沒(méi)法訪問(wèn),那么,
方法一:在實(shí)例化b之后,把b上面要改的那個(gè)控件作為變量傳給a
方法二:有時(shí)因?yàn)楦鞣N原因無(wú)法使用方法一,那就只能把你將要做的修改做成b里面一個(gè)帶變量的函數(shù),但由于靜態(tài)函數(shù)不能調(diào)用控件,所以要另外定義一個(gè)委托,然后設(shè)置一個(gè)該委托的靜態(tài)全局變量,然后再b初始化的時(shí)候用這個(gè)函數(shù)作為變量執(zhí)行構(gòu)造函數(shù),這樣就能在a調(diào)用b的那個(gè)更改控件狀態(tài)的函數(shù)了。
簡(jiǎn)單總結(jié)一下:把設(shè)計(jì)的窗體當(dāng)成類,把實(shí)際操作的窗體看成這些類實(shí)體化后的變量,然后通過(guò)全局的公共變量、函數(shù)進(jìn)行互動(dòng),由于主窗體是系統(tǒng)自動(dòng)打開的,所以沒(méi)有變量名,那就只能通過(guò)類名來(lái)訪問(wèn),所以要把需要被訪問(wèn)的變量、函數(shù)設(shè)為靜態(tài),但由于靜態(tài)函數(shù)無(wú)法訪問(wèn)控件,所以只能設(shè)置靜態(tài)的委托變量并在窗體實(shí)例化的時(shí)候加載那個(gè)要訪問(wèn)的非靜態(tài)函數(shù)。
重新編譯
還不行.就去 你項(xiàng)目目錄中的bin\Debug目錄里面把里面的exe程序刪除了.再重新生成一下.
名稱欄目:vb.net其他窗體修改,VB如何添加窗體
文章地址:http://aaarwkj.com/article22/dsigcjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、響應(yīng)式網(wǎng)站、搜索引擎優(yōu)化、軟件開發(fā)、域名注冊(cè)、網(wǎng)站收錄
聲明:本網(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)