<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>.NET Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/14/ShowForum.aspx</link><description>Θέματα για threading, remoting, reflection, exception handling, security, regex κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Καθυστέρηση στο loading φόρμας...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66306.aspx</link><pubDate>Wed, 15 Jun 2011 19:13:15 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66306</guid><dc:creator>mambo jumbo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66306.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=66306</wfw:commentRss><description>Normal
  0
  
   
   
   
   
  
  MicrosoftInternetExplorer4
 


 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";}



&lt;p class="MsoNormal"&gt;Οκ ευχαριστώ για τις απαντήσεις παιδιά...&lt;br&gt;
&lt;br&gt;
Τελικά εντοπίστηκε το πρόβλημα και δεν είναι τελικά το binding των control...&lt;span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Καθυστέρηση στο loading φόρμας...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66299.aspx</link><pubDate>Wed, 15 Jun 2011 05:42:29 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66299</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66299.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=66299</wfw:commentRss><description>Ρίξε μια ματιά &lt;a href="http://windowsclient.net/blogs/faqs/archive/2006/07/12/why-is-my-combobox-slow-to-load-when-data-binding.aspx"&gt;εδώ&lt;/a&gt;.&lt;br&gt;</description></item><item><title>Απ: Καθυστέρηση στο loading φόρμας...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66298.aspx</link><pubDate>Wed, 15 Jun 2011 04:21:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66298</guid><dc:creator>mambo jumbo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66298.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=66298</wfw:commentRss><description>Normal
  0
  
  
  
  
  false
  false
  false
  
  EL
  X-NONE
  X-NONE
  
   
   
   
   
   
   
   
   
   
   
   
  
  MicrosoftInternetExplorer4
  
   
   
   
   
   
   
   
   
   
   
   
  

 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 


 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Κανονικός πίνακας";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-qformat:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0cm;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}



&lt;p class="MsoNormal"&gt;Γιώργο ευχαριστώ για την απάντηση...&lt;br&gt;
&lt;br&gt;
&amp;nbsp; Τα control που χρησιμοποιώ είναι τα default του VS. &lt;br&gt;
&lt;br&gt;
Ίσως εάν αναρτούσα κάποιο κομμάτι από τον κώδικα αυτό να βοηθούσε, αλλά το θέμα
είναι πως στην εταιρία για την οποία εργάζομαι, τα ζητήματα ασφάλειας
λαμβάνονται πολύ σοβαρά και ακόμα και αν μου επιτρέψουν να προχωρήσω σε κάτι
τέτοιο θα απαιτούσε πολλές ημέρες έως ότου λάβω τη σχετική έγκριση.... :(&lt;br&gt;
&lt;br&gt;
Από ότι έχω διαβάσει μέχρι τώρα στο διαδίκτυο πολλοί αντιμετωπίζουν παρόμοια
προβλήματα: &lt;br&gt;
&lt;br&gt;
&lt;a href="http://stackoverflow.com/questions/1716094/delay-loading-of-combobox-when-form-loads"&gt;http://stackoverflow.com/questions/1716094/delay-loading-of-combobox-when-form-loads&lt;/a&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Θα δοκιμάσω τις &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox%5Fmembers.aspx"&gt;BeginUpdate
και EndUpdate&lt;/a&gt; functions που αναφέρονται στο σχετικό post και θα σας
ενημερώσω.&lt;br&gt;
&lt;br&gt;
Στο εντωμεταξύ αν κάποιος έχει να προτείνει κάτι είμαι όλος αφτιά :)&lt;br&gt;
&lt;br&gt;
Ευχαριστώ,&lt;br&gt;
&lt;br&gt;
Χρήστος&lt;/p&gt;</description></item><item><title>Απ: Καθυστέρηση στο loading φόρμας...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66272.aspx</link><pubDate>Tue, 14 Jun 2011 04:21:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66272</guid><dc:creator>George Parissis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66272.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=66272</wfw:commentRss><description>&lt;p&gt;Οπότε να το πάρω λίγο από την αρχή για να γνωρίζουμε ότι ήμαστε στην ίδια λογική.&lt;/p&gt;&lt;p&gt;Τα έντεκα combo boxes όντως έχουν lookup τιμές οι οποίες χρησιμοποιούνται για τις εγγραφές του κεντρικού grid της φόρμας. Οπότε όταν ανοίγει η φόρμα, χρειάζεσαι να τραβήξεις δεδομένα από 11 πίνακες, που είναι οι εγγραφές lookup συν από τον κεντρικό πίνακα που είναι οι εγγραφές του grid. Και η καθυστέρηση συμβαίνει μόνο την πρώτη φορά. Τις επόμενες φορές που καλείς την φόρμα δεν παρατηρείς την καθυστέρηση αυτή. &lt;/p&gt;&lt;p&gt;Αυτό το τελευταίο είναι κάτι που με προβληματίζει πιο πολύ. Αν υπήρχε λάθος στον κώδικά σου θα παρατηρούσες πάντα μία σχετική καθυστέρηση. Αν είχες να διαβάσεις μεγάλο αριθμό εγγραφών κάθε φορά θα υπήρχε μία σχετική καθυστέρηση.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Μία ερώτηση ακόμα για να καλύψω την αρχική καθυστέρηση που σου εμφανίζεται. Μήπως χρησιμοποιείς controls τρίτου κατασκευαστή με ενεργοποιημένο κάποιο σχετικό skin του κατασκευαστή; Για παράδειγμα οι φόρμες της DevExpress με ενεργοποιημένο skin φορτώνουν πιο αργά από ότι χωρίς την πρώτη φορά. Το ίδιο βέβαια γίνεται για όλες τις φόρμες και τα controls του VS αλλά σαφέστατα η καθυστέρηση είναι πιο μικρή χρησιμοποιώντας τα default controls του VS.&lt;/p&gt;&lt;p&gt;Όσο για το τελευταίο που ζητάς, δηλαδή να σχεδιάσεις την φόρμα και να την &lt;strong&gt;εμφανίσεις&lt;/strong&gt; πριν γεμίσει με δεδομένα τα πράγματα δεν είναι τόσο απλά γιατί φαντάζομαι ότι ο κώδικας σου είναι single thread οπότε το πάγωμα στην οθόνη μέχρι να ολοκληρωθεί ο κώδικάς σου πάντα θα υπάρχει. Για αρχή θα κοιτούσα δύο events. Το Load της φόρμας, το οποίο ενεργοποιείτε λίγο &lt;strong&gt;πριν&lt;/strong&gt; εμφανιστεί η φόρμα και το HandleCreated το οποίο ενεργοποιείτε αμέσως &lt;strong&gt;μετά&lt;/strong&gt; που θα εμφανίσουμε την φόρμα. Και τα δύο events γίνονται raise πάντα μία φορά, δηλαδή αν παίξουμε το visibility της φόρμας δεν θα γίνουν raise ξανά.&lt;/p&gt;</description></item><item><title>Απ: Καθυστέρηση στο loading φόρμας...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66236.aspx</link><pubDate>Sat, 11 Jun 2011 18:58:54 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66236</guid><dc:creator>mambo jumbo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66236.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=66236</wfw:commentRss><description>&amp;nbsp;&amp;nbsp; Ευχαριστώ για τις απαντήσεις.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; Το φόρτωμα γίνεται μία φορά, σε ένα typed DataSet και το lookup γίνεται για κάθε control σε κάποιο DataTable του εν λόγω dataset.&lt;br&gt;Τα data είναι μάλλον πολλά. Ο χρόνος που χρειάζεται να γεμίσει το dataset είναι ανεπαίσθητος (σε ένα connection γίνεται όλη η δουλειά.)&lt;br&gt;&lt;br&gt;&amp;nbsp; Για παράδειγμα, για να γεμίσω ένα combobox με τιμές των person, στον designer επιλέγω για databinding source του control το DataTable Person, όπου&lt;br&gt;δηλώνω ως Key την στήλη ID του πίνακα και πεδίο εμφάνισης την στήλη Name του πίνακα...&lt;br&gt;&lt;br&gt;Στον κώδικα το μόνο που κάνω είναι να δηλώσω ως DataSource του control το DataTable το οποίο έχω γεμίσει νωρίτερα με τις τιμές. &lt;br&gt;&lt;br&gt;Αυτό που θέλουν είναι στα control να είναι φορτωμένες όλες οι τιμές. Οπότε φαντάζομαι πως αν με κάποιο τρόπο μπορούσα τουλάχιστον&lt;br&gt;να σχεδιάσω και να εμφανίσω τη φόρμα πριν γεμίσουν τα data δε θα είχαν κάποια αντίρρηση.&lt;br&gt;</description></item><item><title>Απ: Καθυστέρηση στο loading φόρμας...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66233.aspx</link><pubDate>Sat, 11 Jun 2011 16:20:39 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66233</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66233.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=66233</wfw:commentRss><description>&lt;P&gt;Επίσης, ποιό είναι το μέγεθος των δεδομένων που έρχονται στη φόρμα; Πόσες εγγραφές είναι ο κύριος πίνακας του gridview και πόσες οι lookup; Αν μιλάμε για πάαααρα πολλές εγγραφές υπάρχουν τεχνικές για να βελτιώσεις την κατάσταση. Επίσης, στην περίπτωση που οι lookup πίνακες χρησιμοποιούνται σε όλο το πλάτος και μήκος της εφαρμογής και πάλι μπορείς να φτιάξεις μηχανισμό που να διατηρεί αυτά τα data κάπου, να φορτώνονται μία φορά κατά την εκκίνηση της εφαρμογής (και όχι της φόρμας) παράλληλα με ένα splash screen. Άλλά όλα αυτά εξαρτώνται από τις λεπτομέρειες που δεν μας έχεις πει.&lt;/P&gt;</description></item><item><title>Απ: Καθυστέρηση στο loading φόρμας...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66232.aspx</link><pubDate>Sat, 11 Jun 2011 06:07:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66232</guid><dc:creator>George Parissis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66232.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=66232</wfw:commentRss><description>&lt;p&gt;Επειδή ανέφερες ότι η καθυστέρηση γίνεται μόνο την πρώτη φορά που ανοίγει μία φόρμα θα ήθελα να σε ενημερώσω επάνω σε αυτό πως πάντα την πρώτη φορά που κάνεις σύνδεση με την βάση η διαδικασία θα κάνει λίγο παραπάνω από ότι τις επόμενες φορές. Οπότε σίγουρα εκεί μπορούμε να αποδόσουμε ένα ποσοστό της καθυστέρησης γιατί δεν έχει γίνει cache κάποιο connection ακόμα. Τα 4 δευτερόλεπτα όμως είναι αρκετός χρόνος. &lt;/p&gt;&lt;p&gt;Οπότε η πιο πιθανή αιτία είναι ο αριθμός των δεδομένων που φορτώνεις και ο τρόπος που το κάνεις αυτό. Μόνο υποθέσεις μπορεί να κάνει κάποιος από εδώ και πέρα. Για παράδειγμα υποθέτω πως τα 11 combo boxes έχουν lookup τιμές. Οπότε για να γεμίσεις και τα 11 με τις διαθέσιμες τιμές θα πρέπει να κάνεις 11 ερωτήματα στην βάση συν 1 για το grid. Για πόσες εγγραφές συνολικά μιλάμε; Πόσες συνδέσεις ανοίγεις; Ανοίγεις μία για όλα;&lt;/p&gt;&lt;p&gt;Όπως άφησες να εννοηθεί αυτό γίνεται μόνο την πρώτη φορά. Οπότε αν ανοίξεις ξανά την φόρμα τότε ο χρόνος που χρειάζεται σε ικανοποιεί και δεν έχεις πρόβλημα. Άρα υποθέτω τα ερωτήματά σου στην βάση είναι σωστά. &lt;/p&gt;</description></item><item><title>Απ: Καθυστέρηση στο loading φόρμας...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66231.aspx</link><pubDate>Sat, 11 Jun 2011 00:51:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66231</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66231.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=66231</wfw:commentRss><description>&lt;p&gt;Οι φόρμες σε κανονικές εφαρμογές έχουν κατά κανόνα πολύ περισσότερα από 11 control και δεν καθυστερούνε. Κατά πάσα πιθανότητα το πρόβλημα έχει να κάνει με τον τρόπο που δημιουργείς τη φόρμα και κάνεις το binding. Πως το κάνεις αυτό? Με κώδικα, μέσα από το designer? Το κάθε combo από που τραβάει τις τιμές του? Πως το γεμίζεις, με κώδικα ή με binding? Και αν με binding από ποιό datasource?&lt;/p&gt;&lt;p&gt;Το σίγουρο είναι ότι το ngen δεν πρόκειται να βοηθήσει όταν τα προβλήματα βρίσκονται στον κώδικα.&lt;/p&gt;</description></item><item><title>Καθυστέρηση στο loading φόρμας...</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66230.aspx</link><pubDate>Fri, 10 Jun 2011 23:34:24 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66230</guid><dc:creator>mambo jumbo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66230.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=66230</wfw:commentRss><description>Καλησπέρα σε όλοyς.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; Αντιμετωπίζω ένα πρόβλημα με το loading της φόρμας. Συγκεκριμένα η φόρμα έχει ComboBoxes και dataGridView. Όλα αυτά τα control είναι bind με κάποιο DataSource το οποίο στις περισσότερες περιπτώσεις είναι ένα typed DataTable. Το θέμα τώρα είναι πως την πρώτη φορά που ανοίγει η φόρμα καθυστερεί μερικά δευτερόλεπτα (από 1 έως 4 ανάλογα με τα control που κουβαλάει). Τα 4 δευτερόλεπτα για παράδειγμα παρουσιάζονται σε φόρμα με 11 ComboBoxes και 1 DataGridView.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; Υποθέτω πως η καθυστέρηση προκύπτει λόγω binding στο control, αλλά δε γνωρίζω κάποια μέθοδο που θα βοηθήσει στη βελτίωση των χρόνων... Έχετε μήπως να προτείνετε κάποια λύση?&lt;br&gt;Το ngen θα μπορούσε αποτελέσει λύση?&lt;br&gt;&lt;br&gt;&lt;br&gt;Ευχαριστώ προκαταβολικά&lt;br&gt;&lt;br&gt;Χρήστος&lt;br&gt;&lt;br&gt;ΥΓ: το dev γίνεται σε VS2010Pro με .NET 3.5 και C#&lt;br&gt;</description></item></channel></rss>