2008-10-22 17 views
7

मैं वीबी.नेट में एक टुकड़ा विकसित कर रहा हूं। मेरे प्राथमिक रूप के अंदर, मैं एक संवाद के रूप में उपयोग करने के लिए एक नया रूप बना रहा हूं। मैं सोच रहा था कि क्या नया संवाद बंद करने के लिए कोई तरीका था, प्रत्येक उपयोगकर्ता के लिए इसकी आकार सेटिंग्स (शायद उनकी मशीन पर फ़ाइल में, एक्सएमएल या कुछ के माध्यम से?)विंडोज़ फॉर्म का आकार सहेजें

उत्तर

7

आप इसे सेटिंग फ़ाइल में सहेज सकते हैं, और इसे 'ऑनक्लोसिंग' ईवेंट पर अपडेट कर सकते हैं।

सेटिंग बनाने के लिए प्रोजेक्ट गुण -> सेटिंग्स -> फिर system.drawing.size प्रकार के 'संवाद' जैसी सेटिंग बनाएं।

फिर अपने संवाद के रूप में ऐसा करते हैं:

Public Sub New() 
    InitializeComponent() 
End Sub 

Public Sub New(ByVal userSize As Size) 
    InitializeComponent() 
    Me.Size = userSize 
End Sub 

Protected Overrides Sub OnClosing(ByVal e As System.ComponentModel.CancelEventArgs) 
    MyBase.OnClosing(e) 
    My.Settings.DialogSize = Me.Size 
    My.Settings.Save() 
End Sub 

की जाँच करें और सेटिंग का उपयोग करने कुछ इस तरह करते हैं:

Dim dlg As MyDialogWindow 
    If My.Settings.DialogSize.IsEmpty Then 
     dlg = New MyDialogWindow() 
    Else 
     dlg = New MyDialogWindow(My.Settings.DialogSize) 
    End If 
    dlg.ShowDialog() 
+0

मेरी WinForm के लिए डिजाइनर में बचाया है लागू होते हैं, मैं गुण के तहत जाने के लिए और मैं देख रहा हूँ (PropertyBinding), लेकिन कोई DialogSize संपत्ति है कि मैं ढूंढ सकता हूँ। क्या यह कुछ है जो आपने मैन्युअल रूप से कोड या डिजाइनर में स्थापित किया है? –

+0

डायलॉगसाइज एक वैश्विक वर है जिसे आपको सेटिंग्स फ़ाइल में बनाने की आवश्यकता है। गोटो प्रोजेक्ट -> 'आप प्रोजेक्ट नेम' गुण -> सेटिंग्स टैब-> "डायलॉग साइज" नामक एक सेटिंग जोड़ें या जिसे आप सिस्टम टाइप करना चाहते हैं। ड्रॉइंग। सिज़ दुर्भाग्य से आकार प्रॉपर्टी बाइंडिंग बिट – Hath

+0

ठीक नहीं है - मैंने यह पता लगाया कि आप किस बारे में बात कर रहे थे और इसे स्थापित कर लिया, लेकिन अब जब मैं इसे आमंत्रित करने का प्रयास करता हूं, तो मुझे कॉन्फ़िगरेशन एरर्स अपवाद मिल जाता है, यह कहकर कि कॉन्फ़िगरेशन सिस्टम प्रारंभ करने में विफल रहा। मैं इसे हल करने के बारे में कैसे जा सकता हूं? –

2

हालांकि this is for C#, इससे मदद मिलेगी वीबी.Net के साथ भी।

0

आप वीबी.नेट आईडीई द्वारा प्रदान किए गए यूआई का उपयोग करके भी ऐसा कर सकते हैं। किसी प्रपत्र के लिए गुण फलक में, "(एप्लिकेशन सेटिंग्स)" नामक आइटम के अंतर्गत और उसके बाद "संपत्ति बाध्यकारी" के अंतर्गत देखें। आप उस आवेदन के लिए सेटिंग मूल्य पर फ़ॉर्म (आकार और स्थान सहित) की लगभग हर संपत्ति को बांध सकते हैं।

0

यह पता चला है के रूप में, मैं का उपयोग कर यह करने के लिए एक रास्ता मिल गया System.IO.IsolatedStorage

+0

दिलचस्प - आपने पृथक स्टोरेज क्यों चुना? – Keithius

+0

अपना कोड साझा करने के लिए देखभाल? –

2

तुम भी एक नई सेटिंग आपके आवेदन (आकार) को जोड़ सकते हैं और system.drawing.size

012 करने के लिए सेट कर सकते हैं

फिर, आप सुनिश्चित करते हैं कि आप वर्तमान आकार को सेटिंग्स पर बंद कर दें।

Private Sub myForm_FormClosing(ByVal sender As System.Object, 
          ByVal e As System.Windows.Forms.FormClosingEventArgs) _ 
          Handles MyBase.FormClosing 

    My.Settings.size = Me.Size 
    My.Settings.Save() 

End Sub 

और लोड पर आप आकार आप सेटिंग्स

Private Sub myForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _ 
    Handles MyBase.Load 
    ' if this is the first time to load the form 
    ' dont set the size (the form will load with the size in the designe) 
    If Not My.Settings.size.IsEmpty Then 
     Me.Size = My.Settings.size 
    End If 
End Sub 
संबंधित मुद्दे