में फॉर्मक्लोसिंग ईवेंट मेरे पास एक ही विंडोज़ फॉर्म एप्लिकेशन है जो सिस्टम ट्रे आइकन में चल रहा है। यदि उपयोगकर्ता विंडोज़ के एक्स बटन दबाते हैं तो संदेशबॉक्स हां और नहीं (हां) के साथ प्रदर्शित होता है -> फॉर्म को बंद करें --- नहीं-> सिस्टम ट्रे आइकन में चल रहे फॉर्म को रखें)। मैं जब वहाँ पहले से ही एक उदाहरण तो चल रहा है मैं इस कोड का इस्तेमाल किया है तब होता है जब उपयोगकर्ता आवेदन का एक और उदाहरण खोलने के परिदृश्य को रोकने के लिए सोच रहा था:आवेदन। एक्स्टिट() और Vb.net
If Process.GetProcessesByName(Process.GetCurrentProcess.ProcessName).Length> 1 Then
MessageBox.Show("Another instance is running", "Error Window", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation)
Application.Exit()
End If
समस्या यह है कि जब मैं इस संदेश को परीक्षण करना चाहते हैं प्रदर्शित होता है लेकिन जब मैं ठीक दबाता हूं, तो एक नया संदेशबॉक्स प्रकट होता है (वह निजी उप फॉर्म_फॉर्मक्लोसिंग से एक है)। यदि मैं नहीं चुनता तो मुझे उदाहरण चलाना होगा! मैंने उस एप्लिकेशन को पढ़ लिया है। एक्स्टिट फॉर्म_फॉर्म क्लोजिंग इवेंट को निकाल देता है।
क्या Form_FormClosing ईवेंट की ट्रिगरिंग को रद्द करने की कोई संभावना है, या क्या मैं कुछ गलत कर रहा हूं?
'इस formclosing प्रक्रिया
Private Sub Form_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Try
Dim response As MsgBoxResult
response = MsgBox("Are you sure you want to exit", CType(MsgBoxStyle.Question + MsgBoxStyle.YesNo, MsgBoxStyle), "Confirm")
'If the user press Yes the application wil close
'because the application remains in taskmanager after closing i decide to kill the current process
If response = MsgBoxResult.Yes Then
Process.GetCurrentProcess().Kill()
ElseIf response = MsgBoxResult.No Then
e.Cancel = True
Me.WindowState = FormWindowState.Minimized
Me.Hide()
NotifyIcon1.Visible = True
End If
पुनश्च है: मैं नहीं एक प्रोग्रामर तो मेरे साथ कठोर हो नहीं करते कृपया :)
उत्तर के लिए धन्यवाद ... मुझे विजुअल स्टूडियो प्रॉपर्टीज से सेटिंग मिली है, यह इस विधि का उपयोग करने के लिए भी ठीक होना चाहिए ...दुर्भाग्य से मैंने प्रबंधित नहीं किया क्यों मेरा आवेदन बंद होने के बाद टास्क मैनेजर से बंद नहीं हुआ ... यही कारण है कि मुझे यह अस्थायी समाधान मिल गया .... मूल रूप से एप्लिकेशन एक साधारण विंडोज़ फॉर्म है। – Operagust