Monthly Archives: May 2013
Move JavaScript files to footer in WordPress
Loading excessive JavaScript files in the header will usually slow down your website. This happens because while JavaScript files are loading the browser stops all the other operations till those files have been processed.
An easily solution to remedy that is to move all the .js files in the footer so they will start to load after all the graphical elements of the website have been loaded. In order to do this, open your theme’s functions.php file an place the following code at the bottom.
1 2 3 4 5 6 | remove_action('wp_head', 'wp_print_scripts'); remove_action('wp_head', 'wp_print_head_scripts', 9); remove_action('wp_head', 'wp_enqueue_scripts', 1); add_action('wp_footer', 'wp_print_scripts', 5); add_action('wp_footer', 'wp_enqueue_scripts', 5); add_action('wp_footer', 'wp_print_head_scripts', 5); |
Note: Keep in mind that in some cases some plugins might rely on specific JavaScript files to be loaded in the header, so make sure to check that everything is working properly (no errors in the java console) after moving all the files in the footer.
Posted in WordPress.
Tagged javascript, WordPress
Minimize a form without border using the taskbar
By default borderless forms are not designed to be minimized, which means when the form’s FormBorderStyle
property is set to None you will notice that clicking the application box in taskbar does not minimize the form.
This can be fixed by overriding CreateParams
and adding the WS_MINIMIZEBOX
style to the Window and CS_DBLCLKS
to the Window class styles.
Simply place the following code inside your Form’s class which you want to enable the minimize functionality using the taskbar.
1 2 3 4 5 6 7 8 9 10 11 12 13 | const int WS_MINIMIZEBOX = 0x20000; const int CS_DBLCLKS = 0x8; protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.Style |= WS_MINIMIZEBOX; cp.ClassStyle |= CS_DBLCLKS; return cp; } } |
Posted in C#.
Tagged C#, CS_DBLCLKS, csharp, FormBorderStyle, snippet, winforms, WS_MINIMIZEBOX
Enable Double Buffering for Controls to reduce flickering
Some controls do not have their DoubleBuffered
property listed in the properties window. For this reason it requires an additional step to enable double buffering for specific controls such as a ListView control.
If you wish to enable the DoubleBuffed
property of a control simply use the method provided below.
1 2 3 4 5 6 | public static void SetDoubleBuffering(System.Windows.Forms.Control control, bool value) { System.Reflection.PropertyInfo controlProperty = typeof(System.Windows.Forms.Control) .GetProperty("DoubleBuffered", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); controlProperty.SetValue(control, value, null); } |
Example
1 | SetDoubleBuffering(listView1, true); |
Posted in C#.
Tagged C#, csharp, double buffering, DoubleBuffered, snippet, winforms