बंद पर WPF छिपाएं?

वोट
4

मैं WPF में ऐसा कैसे करते हैं

VB.NET

   Private Sub FrmSettings_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
        e.Cancel = (e.CloseReason = Forms.CloseReason.UserClosing)
        Me.Hide()
    End Sub

सी#

private void FrmSettings_FormClosing(object sender, System.Windows.Forms.FormClosingEventArgs e)
{
    e.Cancel = (e.CloseReason == Forms.CloseReason.UserClosing);
    this.Hide();
}

WPF के बंद घटना के रूप में सिर्फ मुझे e.Cancel और कोई closereason देता है :(

12/03/2009 को 15:43
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


3 जवाब

वोट
5

मैं उसका संकेत के लिए बॉब राजा धन्यवाद और सी # WPF के रूप में अपने कोड के लिए एक अतिरिक्त बनाने के लिए करना चाहते हैं। इससे मेरा काम बनता है। मेरा आवेदन प्रकार के आधार पर एक ट्रे आइकन है। पीछे एक WPF XAML प्रपत्र कोड में:

protected override void OnInitialized(EventArgs e)
{
    base.OnInitialized(e);

    Application.Current.ShutdownMode = System.Windows.ShutdownMode.OnMainWindowClose;
}

private bool m_isExplicitClose = false;// Indicate if it is an explicit form close request from the user.

protected override void OnClosing(System.ComponentModel.CancelEventArgs e)

{

    base.OnClosing(e);

    if (m_isExplicitClose == false)//NOT a user close request? ... then hide
    {
        e.Cancel = true;
        this.Hide();
    }

}

private void OnTaskBarMenuItemExitClick(object sender, RoutedEventArgs e)

{            
    m_isExplicitClose = true;//Set this to unclock the Minimize on close 

    this.Close();
}
15/04/2010 को 06:30
का स्रोत उपयोगकर्ता

वोट
5

मुझे यकीन है कि मैं समझता हूँ कि क्या WinForms दृष्टिकोण को हल करती है नहीं कर रहा हूँ।

यह बेहतर हमेशा यह करने के लिए नहीं है:

Protected Overrides Sub OnClosing(ByVal e As System.ComponentModel.CancelEventArgs)
    e.Cancel = True
    Me.Hide()
End Sub

और फिर अपने आवेदन में इस सेट?

Application.Current.ShutdownMode = System.Windows.ShutdownMode.OnMainWindowClose

इस तरह, जब भी अपने बच्चे को विंडो बंद करें, आप उन्हें चारों ओर तेजी से प्रदर्शन के लिए बाद में रखने के लिए, लेकिन अभी भी आपके एप्लिकेशन shutsdown जब मुख्य विंडो बंद (यानी बाहर निकलें, बंद, आदि)।

12/03/2009 को 19:43
का स्रोत उपयोगकर्ता

वोट
5

वहाँ WPF के डिफ़ॉल्ट कार्यान्वयन में एक समान नहीं है। आप एक खिड़कियों हुक का उपयोग हालांकि कारण प्राप्त करने के लिए कर सकते हैं।

निम्नलिखित पोस्ट विवरण ऐसा करने के तरीके: http://social.msdn.microsoft.com/forums/en-US/wpf/thread/549a4bbb-e77b-4c5a-b724-07996774c60a/

12/03/2009 को 15:47
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more