C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.86760 の関連記事表示

<< 0 >>
■86760  Re[1]: .Net内部イメージの利用方法
□投稿者/ 魔界の仮面弁士 -(2018/03/12(Mon) 12:31:22)
    2018/03/12(Mon) 16:58:56 編集(投稿者)

    No86758 (mayoppes さん) に返信
    > このForm内に配置したToolStripメニューにPrintPreviewDialogのToolStripボタン
    > のイメージを利用したいのですが、指定方法が解りません。

    ToolStrip を、丸ごと

     Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
      Me.Controls.Remove(Me.ToolStrip1)
      Me.ToolStrip1.Dispose()
      Me.ToolStrip1 = Me.PrintPreviewDialog1.Controls.OfType(Of ToolStrip).FirstOrDefault()
      Me.Controls.Add(Me.ToolStrip1)
     End Sub

    のように付け替える……というのは強引すぎるので無しとして。
    たとえばこんな感じでどうでしょう。

     Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
      Dim bmp As New Bitmap(GetType(PrintPreviewDialog), "PrintPreviewStrip.bmp")
      bmp.MakeTransparent()
      Me.ImageList1.Images.AddStrip(bmp)
      Me.ToolStrip1.ImageList = Me.ImageList1
      Me.ToolStrip1.Items(0).Text = "印刷"
      Me.ToolStrip1.Items(0).ImageIndex = 0
      Me.ToolStrip1.Items(1).Text = "ズーム"
      Me.ToolStrip1.Items(1).ImageIndex = 1
      Me.ToolStrip1.Items(2).Text = "1 ページ"
      Me.ToolStrip1.Items(2).ImageIndex = 2
      Me.ToolStrip1.Items(3).Text = "2 ページ"
      Me.ToolStrip1.Items(3).ImageIndex = 3
      Me.ToolStrip1.Items(4).Text = "3 ページ"
      Me.ToolStrip1.Items(4).ImageIndex = 4
      Me.ToolStrip1.Items(5).Text = "4 ページ"
      Me.ToolStrip1.Items(5).ImageIndex = 5
      Me.ToolStrip1.Items(6).Text = "6 ページ"
      Me.ToolStrip1.Items(6).ImageIndex = 6
     End Sub



    > (2)又、同じような事だと思うのですが、ToolStripの右クリックから「標準項目の挿入」を
    > 実行すると、I/Oや編集関連のアイコンが追加されます。
    > これを.Netが自動で作成するデザイナのコードを確認すると以下のようになっています。
    > Me.印刷PToolStripButton1.Image = CType(resources.GetObject("印刷PToolStripButton1.Image"), System.Drawing.Image)
    > このGetObjectの引数「"印刷PToolStripButton1.Image"」は他に「どのようなものが利用できるか」、
    > 「どこを検索すればわかるのか」、といった事が知りたいです。

    ソリューション エクスプローラーで、[すべてのファイルを表示]を選択し、
    Form1.vb の子階層に表示される Form1.resx を見れば分かります。


    > ToolStripSplitButton.Image = My.Resources.何某

    この場合は、プロジェクト全体に対する埋め込みリソースの参照を意味しますね。

    一方、フォーム単位の埋め込みリソースでは
     Dim resources As New System.ComponentModel.ComponentResourceManager(GetType(Form1))
     Me.印刷PToolStripButton1.Image = CType(resources.GetObject("印刷PToolStripButton1.Image"), System.Drawing.Image)
    のように指定されます。
    複数のフォームで同じ画像を使いまわす場合は、My.Resources の方が効率的ですね。

    また、Professional Edition 以上の Visual Studio では、
    埋め込みに使える画像集が、Visual Studio のインストール先の
     VS2010 → Microsoft Visual Studio 10.0\Common7\VS2010ImageLibrary\1041\VS2010ImageLibrary.zip
     VS2008 → Microsoft Visual Studio 9.0\Common7\VS2008ImageLibrary\1041\VS2008ImageLibrary.zip
     VS2005 → Microsoft Visual Studio 8\Common7\VS2005ImageLibrary\VS2005ImageLibrary.zip
     VS.NET2003 → Microsoft Visual Studio .NET 2003\Common7\Graphics
    に用意されています。
    ただし VS2012 以降では同梱されなくなっており、Download Center からの入手が必要となります。
    https://www.microsoft.com/en-us/download/details.aspx?id=35825
記事No.86758 のレス /過去ログ149より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -