2010-11-12 16 views
8

मैं विजुअल स्टूडियो एक्सप्रेस 2010 में एक पूर्ण स्क्रीन सी # विंडोज फॉर्म एप्लिकेशन कैसे बना सकता हूं? मैंने this link की कोशिश की है, लेकिन यह सिर्फ http://pixpipeline.com/d/57a8554712e8.pngपूर्ण स्क्रीन सी # आवेदन

+3

संभावित डुप्लिकेट [मैं WinForms ऐप को पूर्ण स्क्रीन कैसे बना सकता हूं] (http://stackoverflow.com/questions/505167/how-do-i-make-a-winforms-app-go-full- स्क्रीन) –

उत्तर

12

कोई विशेष चाल आवश्यक नहीं है। FormBorderStyle प्रॉपर्टी को किसी भी पर सेट करें, विंडोस्टेट को अधिकतम करने के लिए।

+3

यह उल्लेख करता है कि टास्कबार को छिपाने के लिए कोई 'विशेष चाल' की आवश्यकता नहीं है। विंडोज पहचानता है कि इस तरह बनाई गई खिड़कियां पूर्णस्क्रीन बनना चाहती हैं, और उन्हें टास्कबार के शीर्ष पर रखती हैं। – Nick

+0

कोई समस्या नहीं है, अगर आप अपनी टास्कबार सेटिंग्स को "हमेशा शीर्ष पर" सेट करते हैं तो यह ऐप को छुपाता है। अगर मैं समझ रहा हूं कि ओपी क्या मांग रहा है, तो वह चाहता है कि खिड़की सचमुच पूर्ण स्क्रीन हो ... सब कुछ के ऊपर और सभी मॉनीटर अचल संपत्ति को कवर करना। –

+1

आप टास्कबार को "हमेशा शीर्ष पर" कैसे सेट करते हैं? मुझे विंडोज 7 में यह विकल्प नहीं मिला है ... – Lars

12

http://www.vesic.org/english/blog/winforms/full-screen-maximize/
उदाहरण: http://www.vesic.org/blog/upload/MaxWinForm.zip

/// <summary> 
/// Selected Win AI Function Calls 
/// </summary> 

public class WinApi 
{ 
    [DllImport("user32.dll", EntryPoint = "GetSystemMetrics")] 
    public static extern int GetSystemMetrics(int which); 

    [DllImport("user32.dll")] 
    public static extern void 
     SetWindowPos(IntPtr hwnd, IntPtr hwndInsertAfter, 
        int X, int Y, int width, int height, uint flags);   

    private const int SM_CXSCREEN = 0; 
    private const int SM_CYSCREEN = 1; 
    private static IntPtr HWND_TOP = IntPtr.Zero; 
    private const int SWP_SHOWWINDOW = 64; // 0x0040 

    public static int ScreenX 
    { 
     get { return GetSystemMetrics(SM_CXSCREEN);} 
    } 

    public static int ScreenY 
    { 
     get { return GetSystemMetrics(SM_CYSCREEN);} 
    } 

    public static void SetWinFullScreen(IntPtr hwnd) 
    { 
     SetWindowPos(hwnd, HWND_TOP, 0, 0, ScreenX, ScreenY, SWP_SHOWWINDOW); 
    } 
} 

/// <summary> 
/// Class used to preserve/restore state of the form 
/// </summary> 
public class FormState 
{ 
    private FormWindowState winState; 
    private FormBorderStyle brdStyle; 
    private bool topMost; 
    private Rectangle bounds; 

    private bool IsMaximized = false; 

    public void Maximize(Form targetForm) 
    { 
     if (!IsMaximized) 
     { 
      IsMaximized = true; 
      Save(targetForm); 
      targetForm.WindowState = FormWindowState.Maximized; 
      targetForm.FormBorderStyle = FormBorderStyle.None; 
      targetForm.TopMost = true; 
      WinApi.SetWinFullScreen(targetForm.Handle); 
     } 
    } 

    public void Save(Form targetForm) 
    { 
     winState = targetForm.WindowState; 
     brdStyle = targetForm.FormBorderStyle; 
     topMost = targetForm.TopMost; 
     bounds = targetForm.Bounds; 
    } 

    public void Restore(Form targetForm) 
    { 
     targetForm.WindowState = winState; 
     targetForm.FormBorderStyle = brdStyle; 
     targetForm.TopMost = topMost; 
     targetForm.Bounds = bounds; 
     IsMaximized = false; 
    } 
} 
+6

"अज्ञात" लोगों से डाउनवॉट्स को प्यार करना होगा। :) –

+0

संभवतः क्योंकि आप कभी भी पूर्णस्क्रीन एप्लिकेशन को शीर्ष पर नहीं रखना चाहते हैं ... –

4

Kiosk mode शब्द आप एक खोज के लिए उपयोग करना चाहते हैं कर रहे हैं।

form.MaximizeBox = false; 
form.MinimizeBox = false; 
form.TopMost = true; 
form.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 
form.WindowState = System.Windows.Forms.FormWindowState.Maximized; 
+6

जब 'बॉर्डर स्टाइल' को 'कोई नहीं' पर सेट किया गया है तो अधिकतम को अधिकतम करने और बक्से को कम करने की आवश्यकता नहीं है। जब 'बॉर्डर स्टाइल' 'कोई नहीं' होता है तो संपूर्ण विंडो हेडर हटा दिया जाता है और इसमें न्यूनतम, अधिकतम और बंद बॉक्स शामिल होते हैं। –

+0

जानना अच्छा है, धन्यवाद। – Lars

0

आप इस तरह कुछ करने के लिए एक पूर्ण स्क्रीन आवेदन करने के लिए ...

this.FormBorderStyle = FormBorderStyle.None; 
this.WindowState = FormWindowState.Maximized; 

इस फार्म का नाम है।

संबंधित मुद्दे