主婦と.NETと犬のぶろぐ

奥様 と プログラム と お犬様 の 楽しい日常

目次

Blog 利用状況

ニュース

書庫

日記カテゴリ

ContextMenuStrip クラス(System.Windows.Forms.ContextMenuStrip)と ContextMenu クラス(System.Windows.Forms.ContextMenu)

間違えて DateTimePicker を先にやってしまった...
って事で今日は ContextMenuStrip のお勉強。

1.1 の時にお世話になった ContextMenu と合わせて使ってみました。
うーん一緒に実装すると、ここに書いた事だけでも随分いろんなことができるようになったもんだなぁって思いました。
ContextMenu クラスの説明にこう書いてありました。

[引用]
ContextMenuStrip では、以前のバージョンの ContextMenu コントロールの機能が置換または追加されていますが、下位互換性を維持し、必要に応じて今後も使用できるように、ContextMenu も残されています。
[/引用]

つまり、2.0 でコンテキストメニュー機能を実装する場合には、ContextMenuStrip の方を使いなさいよって事ですか。
...でも私は今日はじめて使ったのだった...

■参考文献
ContextMenuStrip クラス
ToolStripItem クラス
ToolStripMenuItem クラス
ToolStripDropDown クラス
ContextMenu クラス
MenuItem クラス

■実行画像
ContextMenuStrip
ContextMenuStrip
ContextMenu
ContextMenu

Public Class ContextMenuStripTest

Private Sub ContextMenuStripTest_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'' ContextMenuStrip を使ってみる Dim cntextStrip As ContextMenuStrip = New ContextMenuStrip
'---------- ToolStripButtonの作成 ---------- Dim tstripButton As ToolStripButton = New ToolStripButton() cntextStrip.Items.Add(tstripButton) ' 押下時のイベントを登録 AddHandler tstripButton.Click, AddressOf ToolStripButton_Click tstripButton.Text = "test" tstripButton.BackColor = Color.CadetBlue
'---------- セパレータを追加する ---------- cntextStrip.Items.Add(New ToolStripSeparator)
'---------- ComboBox を追加する ---------- Dim cmbBox As ToolStripComboBox = New ToolStripComboBox cntextStrip.Items.Add(cmbBox) cmbBox.Items.Add("ふじこ") cmbBox.Items.Add("エデン") cmbBox.Items.Add("オット") cmbBox.SelectedItem = "オット" 'オットを選択 ' コンボボックス選択アイテム変更時のイベントを登録 AddHandler cmbBox.SelectedIndexChanged, AddressOf Me.ToolStripComboBox_SelectedIndexChanged
'---------- ToolStripMenuItem を 追加する ---------- Dim mnuItem As ToolStripMenuItem = New ToolStripMenuItem mnuItem.Text = "わんくま" cntextStrip.Items.Add(mnuItem) '---------- おまけのボタンを作成 ---------- Dim omakeButton As ToolStripButton = New ToolStripButton() ' ToolStripMenuItem にぶらさげ mnuItem.DropDownItems.Add(omakeButton) ' 押下時のイベントを登録 AddHandler omakeButton.Click, AddressOf ToolStripButton_Click ' 画像の設定 omakeButton.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText omakeButton.Image = New Bitmap(My.Resources.中さん) omakeButton.ImageTransparentColor = System.Drawing.SystemColors.Control omakeButton.Text = "中さん" omakeButton.Size = New Size(100, 50)
Dim lblForStrip As Label = New Label lblForStrip.Size = New Size(150, 50) lblForStrip.Text = "ContextMenuStrip 用" lblForStrip.BackColor = Color.LightBlue lblForStrip.Location = New Point(10, 10) lblForStrip.ContextMenuStrip = cntextStrip Me.Controls.Add(lblForStrip)

'' ContextMenu を使ってみる Dim cntext As ContextMenu = New ContextMenu
'---------- MenuItem の作成 ---------- Dim contextItem As MenuItem = New MenuItem cntext.MenuItems.Add(contextItem) '---------- 押下時のイベントを登録 ---------- AddHandler contextItem.Click, AddressOf MenuItem_Click contextItem.Text = "test"
'---------- セパレータの追加 ---------- cntext.MenuItems.Add(New MenuItem("-"))
'---------- 枝分かれ MenuItem の作成 ---------- Dim edaMenuItem As MenuItem = New MenuItem edaMenuItem.Text = "wankuma" cntext.MenuItems.Add(edaMenuItem) edaMenuItem.MenuItems.Add(New MenuItem("どり様", AddressOf Me.MenuItem_Click))
Dim lblForContext As Label = New Label lblForContext.Size = New Size(150, 50) lblForContext.Text = "ContextMenu 用" lblForContext.BackColor = Color.LightGreen lblForContext.Location = New Point(10, 100) lblForContext.ContextMenu = cntext Me.Controls.Add(lblForContext)
End Sub
Private Sub ToolStripButton_Click(ByVal sender As Object, ByVal e As EventArgs) Dim btn As ToolStripButton = DirectCast(sender, ToolStripButton) MessageBox.Show(btn.Text & "が押下されました") End Sub
Private Sub MenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Dim itm As MenuItem = DirectCast(sender, MenuItem) MessageBox.Show(itm.Text & "が押下されました") End Sub
Private Sub ToolStripComboBox_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Dim cmb As ToolStripComboBox = DirectCast(sender, ToolStripComboBox) MessageBox.Show(cmb.SelectedItem.ToString() & "が選択されました") End Sub End Class

投稿日時 : 2006年12月18日 14:13

Feedback

# re: ContextMenuStrip クラス(System.Windows.Forms.ContextMenuStrip)と ContextMenu クラス(System.Windows.Forms.ContextMenu) 2006/12/18 15:14 επιστημη

中さん、えらく窮屈そうなんですケド…

# re: ContextMenuStrip クラス(System.Windows.Forms.ContextMenuStrip)と ContextMenu クラス(System.Windows.Forms.ContextMenu) 2006/12/18 16:45 なおこ(・∀・)

>> えぴさん
もはや中さんかどうかも解らないですねw

# MenuStrip(System.Windows.Forms.MenuStrip) 2007/02/22 10:09 主婦と.NETと犬のぶろぐ

MenuStrip(System.Windows.Forms.MenuStrip)

# siRVSyWlTnY 2012/01/07 7:24 http://www.luckyvitamin.com/c-1769-mangosteen

Yeah, it is clear now !... From the very beginning I did not understand where was the connection with the title !!...

# sAcKDwIQplJ 2014/07/19 21:38 http://crorkz.com/

484k7L I appreciate you sharing this blog.Much thanks again. Keep writing.

# UsNLeVuBcoTw 2014/08/04 4:09 http://crorkz.com/

vMZ6S3 Thanks a lot for the article.

# LzOEOcJdVm 2014/08/05 5:35 http://crorkz.com/

BzAwaR Wow, great blog article.Thanks Again.

# KNjOtYBEufohwEYKMed 2014/08/07 2:58 http://crorkz.com/

GSsnfA Really appreciate you sharing this post. Want more.

# QrvMPCyXhNe 2014/09/05 22:55 https://www.youtube.com/watch?v=bmyZcX8nn50

excellent publish, very informative. I'm wondering why the opposite experts of this sector do not notice this. You should continue your writing. I am confident, you've a great readers' base already!

# FXHudjtifBgnC 2014/09/08 18:05 http://www.arrasproperties.com/

I am always invstigating online for articles that can help me. Thx!

# WYxyGsIFgMeGem 2014/09/09 10:32 http://vender-na-internet.com/luis-souto/

It's onerous to find educated people on this topic, however you sound like you know what you're talking about! Thanks

# TGRajbMkrHakNp 2014/09/09 12:04 http://vente-sur-internet.com/luis-souto/

Magnificent website. Lots of helpful information here. I am sending it to several pals ans additionally sharing in delicious. And obviously, thanks for your effort!

# LWrWVXhhxRXHBFiuy 2014/09/17 20:59 http://youtu.be/pJYaev2gZYc

Definitely, what a great website and educative posts, I surely will bookmark your website.Have an awsome day!

# YdCDWPULBwadPHJ 2014/09/18 15:59 http://verifymecard.info/story.php?id=91397

91irwR Very informative blog post.Really looking forward to read more. Will read on...

タイトル  
名前  
Url
コメント