你好,你使用這種方法只是在控制Form3的visible屬性,F(xiàn)orm3只是可見或隱藏,并不是真正的關(guān)閉了,而你使用Form3上的關(guān)閉按鈕,他就是真的關(guān)閉了,是調(diào)用的Form3的Close方法,就是真的沒有了,"我設(shè)置的S_form3就不起作用了”這句話你應(yīng)該是想說按鈕不起作用了吧,你的S_form3只是個(gè)變量,跟Form3沒有什么關(guān)系,你只是用來當(dāng)一個(gè)Form3可見性的標(biāo)志,使用bool變量更能清楚表達(dá)你的意圖。。。沒必要用string啊。。。,
在珠山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營(yíng)銷型網(wǎng)站建設(shè),外貿(mào)營(yíng)銷網(wǎng)站建設(shè),珠山網(wǎng)站建設(shè)費(fèi)用合理。
by the way,你在按鈕事件里添加代碼 Form3.Close()就會(huì)達(dá)到和在form3上按關(guān)閉按鈕同樣的效果。
Public?Class?Form1
System.Runtime.InteropServices.DllImport("user32.dll")?_
Private?Shared?Function?SendMessage(ByVal?hWnd?As?Integer,?ByVal?Msg?As?Integer,?ByVal?wParam?As?Integer,?ByVal?lParam?As?Integer)?As?Integer
End?Function
Const?SC_MONITORPOWER?As?Integer?=?HF170
Const?WM_SYSCOMMAND?As?Integer?=?H112
Private?Enum?MonitorMode?As?Integer
[ON]?=?-1
STANBY?=?1
OFF?=?2
End?Enum
Private?Sub?ChangeMonitorState(ByVal?mode?As?MonitorMode)
SendMessage(-1,?WM_SYSCOMMAND,?SC_MONITORPOWER,?CInt(mode))
End?Sub
Private?Sub?Off()
ChangeMonitorState(MonitorMode.OFF)
End?Sub
Private?Sub?[On]()
ChangeMonitorState(MonitorMode.[ON])
End?Sub
Private?Sub?StandBy()
ChangeMonitorState(MonitorMode.STANBY)
End?Sub
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
Off()
End?Sub
Private?Sub?Form1_KeyDown(ByVal?sender?As?Object,?ByVal?e?As?System.Windows.Forms.KeyEventArgs)?Handles?Me.KeyDown
If?e.KeyCode?=?Keys.Escape?Then?[On]()
End?Sub
End?Class
按button1按鈕關(guān)閉顯示器,按Esc鍵打開顯示器
Allocconsle 打開一個(gè)控制臺(tái)窗口
Call 調(diào)用DLL文件中的函數(shù)
Freeconsole 關(guān)閉控制臺(tái)窗口
Call 命令調(diào)用DLL文件中函數(shù)后,函數(shù)運(yùn)行時(shí),如果用戶關(guān)閉控制臺(tái),會(huì)彈出錯(cuò)誤對(duì)話框。
本人想實(shí)現(xiàn):當(dāng)用戶點(diǎn)擊控制臺(tái)關(guān)閉按鈕后,彈出一個(gè)確認(rèn)對(duì)話框,點(diǎn)確定,控制臺(tái)關(guān)閉,并不會(huì)出現(xiàn)錯(cuò)誤對(duì)話框;點(diǎn)取消,控制臺(tái)繼續(xù)運(yùn)行。