protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            if (DesignMode)
            {
                return;
            }

            CreateAndBindToSelectionService();
            listView.SelectedIndexChanged += (s, ee) =>
            {
                if (listView.SelectedItems.Count == 0)
                {
                    NotifySelectionChanged(null);
                }
                else
                {
                    var selectedItem = listView.SelectedItems[0];
                    NotifySelectionChanged(
                        ObjectWrapper.Wrap(selectedItem.Tag));
                }
            };

            // Actions
            defaultAction              = openCertificateAction;
            listView.MouseDoubleClick += (s, ev) => defaultAction.DoRun();

            openCertificateAction.Run += (s, ev) =>
            {
                X509Object x509        = null;
                var        certificate = GetSelectedCertificate();
                if (certificate != null)
                {
                    x509 = X509Object.Create(
                        certificate.X509, CurrentStoreName, CurrentStoreLocation);
                }
                else
                {
                    var crl = GetSelectedCrl();
                    if (crl != null)
                    {
                        x509 = X509Object.Create(
                            crl, CurrentStoreName, CurrentStoreLocation);
                    }
                    else
                    {
                        var ctl = GetSelectedCtl();
                        if (ctl != null)
                        {
                            x509 = X509Object.Create(
                                ctl, CurrentStoreName, CurrentStoreLocation);
                        }
                    }
                }

                if (x509 != null)
                {
                    Commands.RunVerb(Verbs.OpenCertificate, x509);
                }
            };

            viewInformationAction.Run += (s, ev) =>
            {
                var certificate = GetSelectedCertificate();
                if (certificate != null)
                {
                    certificate.ShowCertificateDialog(base.Handle);
                    return;
                }

                var crl = GetSelectedCrl();
                if (crl != null)
                {
                    crl.ShowCrlDialog(base.Handle);
                    return;
                }

                var ctl = GetSelectedCtl();
                if (ctl != null)
                {
                    ctl.ShowCtlDialog(base.Handle);
                }
            };
        }