none
DropDownのメニューにFormを埋め込む RRS feed

  • 質問

  • VS2008 C# Expressを使用しています。
    Google Toolbarの「ニュース」や「ボタンを追加」ボタンのように,DropDownメニューにHTML (XML) を表示したいのですが,うまくFormを埋め込むことができません。 (そもそもFormではないのでしょうか?)

    WebBrowserは下記を参考に埋め込むことはできたのですが,これではSizeGripStyleをShowに設定できませんし左側にImage用 のスペースができてしまいます。

    10 行でズバリ !! MenuStrip の応用 (C#) - http://msdn.microsoft.com/ja-jp/events/dd253046.aspx

    上記の例では,ToolStripMenuItemを用いていますが,プルダウンメニューであることを示したい 為,ToolStripDropDownButtonを用いました。

    *****このコードはWebBrowserを埋め込んだもので,表示領域が固定されてしまっている
        {
            // プルダウンメニューの初期設定
            this.menu.Text = "HTMLコンテンツ";
            this.menu.Image = this.Image;
            this.menu.ImageAlign = ContentAlignment.MiddleLeft;
            this.menu.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
           
            // 表示したいHTMLを読み込む
            WebBrowser htmlWnd = new WebBrowser();
            Uri htmlUrl = new Uri("http://hoge.com");
            htmlWnd.Url = htmlUrl;
            htmlWnd.Width = 400;
            htmlWnd.Height = 500;
            htmlWnd.ScrollBarsEnabled = false;
           
            ToolStripControlHost controlhost = new ToolStripControlHost(htmlWnd);
           
            this.menu.DropDownItems.Add(controlhost);
            items.Add(this.menu);
           
            // ツールバーに追加
            Toolbar.Items.AddRange(this.items.ToArray());
        }

        private ToolStripDropDownButton menu = new ToolStripDropDownButton();

    *****

    GoogleのようにきれいにHTMLを表示することはできるのでしょうか?
    ツールバーの中の一つのボタンとしてDropDownメニューのSizeGridStyleの設定およびImageスペースの削除を目標にしています。

    よろしくお願いいたします。

    2010年7月1日 7:25

回答

  • お世話になっております。
    既存のToolStripでは難しいため,User32.dllを用いてUserControlのウィンドウ制御することにしました。

    お騒がせしました。
    • 回答としてマーク 山本春海 2010年7月12日 5:38
    2010年7月8日 7:14