Esempio n. 1
0
        public void LoadFile(String s)
        {
            if (s == null || s.Trim().Length == 0)
            {
                navi = "";
            }
            else if (Site == null)
            {
                bwLoader.RunWorkerAsync(s);
            }
            else
            {
                IOleClientSite pClientSite = (IOleClientSite)Site.GetService(new AntiMoniker().GetType());
                if (pClientSite != null)
                {
                    IMoniker pimkDL = null;
                    try {
                        if (pimkDL == null)
                        {
                            IBindHost pBindHost = (IBindHost)pClientSite;
                            pBindHost.CreateMoniker(s, null, out pimkDL, 0);
                        }
                        if (pimkDL == null)
                        {
                            IMoniker pimkName = null;
                            pClientSite.GetMoniker(OLEGETMONIKER_FORCEASSIGN, OLEWHICHMK_CONTAINER, out pimkName);
                            try {
                                int chEaten;
                                pimkName.ParseDisplayName(null, pimkName, s, out chEaten, out pimkDL);
                            }
                            finally {
                                Marshal.ReleaseComObject(pimkName);
                            }
                        }
                        if (pimkDL != null)
                        {
                            pimkDL.GetDisplayName(null, null, out title);
                            if (!String.IsNullOrEmpty(title))
                            {
                                s = title;
                            }
                        }
                    }
                    finally {
                        Marshal.ReleaseComObject(pimkDL);
                    }
                }

                bwLoader.RunWorkerAsync(s);
            }
        }
 public object GetMoniker(int dwAssign, int dwWhichMoniker)
 {
     Debug.Print("IOleClientSite.GetMoniker");
     return(_baseIOleClientSite.GetMoniker(dwAssign, dwWhichMoniker));
 }