मुझे पता है कि मैं WindowState द्वारा वर्तमान स्थिति प्राप्त कर सकता हूं, लेकिन मैं जानना चाहता हूं कि क्या कोई ऐसी घटना है जो उपयोगकर्ता द्वारा फ़ॉर्म को कम करने की कोशिश करने पर आग लग जाएगी।
मुझे पता है कि मैं WindowState द्वारा वर्तमान स्थिति प्राप्त कर सकता हूं, लेकिन मैं जानना चाहता हूं कि क्या कोई ऐसी घटना है जो उपयोगकर्ता द्वारा फ़ॉर्म को कम करने की कोशिश करने पर आग लग जाएगी।
जवाबों:
आप इवेंट का आकार बदल सकते हैं और फ़ॉर्म को देख सकते हैं। घटना में संपत्ति का पता लगाएं।
private void Form1_Resize ( object sender , EventArgs e )
{
if ( WindowState == FormWindowState.Minimized )
{
// Do some stuff
}
}
फॉर्म को छोटा किए जाने से पहले आपको WndProc प्रक्रिया में शामिल होना होगा:
private const int WM_SYSCOMMAND = 0x0112;
private const int SC_MINIMIZE = 0xF020;
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
protected override void WndProc(ref Message m)
{
switch(m.Msg)
{
case WM_SYSCOMMAND:
int command = m.WParam.ToInt32() & 0xfff0;
if (command == SC_MINIMIZE)
{
// Do your action
}
// If you don't want to do the default action then break
break;
}
base.WndProc(ref m);
}
घटना के बाद फॉर्म में हुक को कम करने के लिए प्रतिक्रिया करने के लिए Resize
क्योंकि अन्य उत्तर इंगित करते हैं (पूर्णता के लिए यहां शामिल है):
private void Form1_Resize (object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
// Do your action
}
}
मुझे एक विशिष्ट घटना के बारे में पता नहीं है , लेकिन Resize
घटना कम होने पर आग लग जाती है, आप FormWindowState.Minimized
उस घटना की जांच कर सकते हैं
WPF विंडो के लिए खोज करने वाले लोगों के लिए घटना को कम करने:
यह थोड़ा अलग है। कॉलबैक उपयोग के लिए WindowState:
private void Form1_Resize(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
// Do some stuff
}
}
उपयोग करने की घटना स्टेटचेनड है (बजाय आकार बदलें):
public Main()
{
InitializeComponent();
this.StateChanged += Form1_Resize;
}